Jadual Kandungan
Tentukan fungsi pengendali ralat tersuai anda
Daftar pengendali dengan set_error_handler
Mengendalikan jenis ralat tertentu
Pulihkan pengendalian ralat lalai
Rumah pembangunan bahagian belakang tutorial php Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai di php

Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai di php

Oct 02, 2025 am 03:54 AM
php Ralat pengendalian

set_error_handler Dalam PHP membolehkan pengendalian ralat tersuai dengan menentukan fungsi yang memintas ralat yang boleh diperolehi, membolehkan pembalakan terkawal dan respons mesra pengguna; Ia menerima parameter seperti $ errno, $ errstr, $ errfile, dan $ errline untuk menangkap butiran ralat, didaftarkan melalui set_error_handler ("function_name", error_types), boleh menapis ralat tertentu seperti e_warning atau e_notice, dan boleh dikembalikan error_get_last.

Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai dalam php

Menggunakan set_error_handler dalam PHP membolehkan anda menentukan fungsi tersuai yang mengendalikan kesilapan dan bukannya bergantung pada pelaporan ralat lalai PHP. Ini memberi anda lebih banyak kawalan ke atas bagaimana kesilapan dilog, dipaparkan, atau diproses-terutamanya berguna untuk menyahpepijat, pembalakan, atau membuat mesej mesra pengguna.

Tentukan fungsi pengendali ralat tersuai anda

Buat fungsi yang boleh dipanggil yang menerima sekurang -kurangnya satu parameter: tahap ralat. Anda boleh memasukkan sehingga lima parameter untuk menangkap butiran ralat penuh.

  • $ errno : tahap keparahan ralat (contohnya, e_warning, e_notice)
  • $ errstr : Mesej ralat
  • $ errfile : fail di mana ralat berlaku (pilihan)
  • $ errline : nombor baris di mana ralat berlaku (pilihan)
  • $ errContext : array yang mengandungi jadual simbol aktif (jarang digunakan)

Contoh:

fungsi CustomErrorHandler ($ errno, $ errstr, $ errfile, $ errline) {
    // ralat log ke fail
    error_log ("error [$ errno] $ errstr dalam $ errfile on line $ errline", 3, "error.log");

    // pilihan memaparkan mesej mesra pengguna
    echo "Kesalahan berlaku. Sila cuba sebentar lagi.";

    // Mencegah PHP daripada menggunakan pengendali lalai
    kembali benar;
}

Daftar pengendali dengan set_error_handler

Selepas menentukan fungsi anda, daftarkannya menggunakan set_error_handler . Dari sudut ini, fungsi anda akan mengendalikan kesilapan yang boleh diperolehi semula.

set_error_handler ("CustomErrorHandler");

Sekarang, apabila notis atau amaran berlaku (seperti mengakses pemboleh ubah yang tidak ditentukan), fungsi tersuai anda akan dicetuskan dan bukannya tingkah laku lalai.

Mengendalikan jenis ralat tertentu

Anda boleh menapis kesilapan yang dikendalikan oleh pengendali anda dengan menyatakan hujah kedua dalam set_error_handler , seperti e_warning atau e_notice.

Contoh - Mengendalikan hanya amaran dan notis:

set_error_handler ("CustomErrorHandler", e_warning | e_notice);

Ini mengelakkan menangkap kesilapan maut (yang fungsi ini tidak dapat dikendalikan) atau isu -isu yang teruk.

Pulihkan pengendalian ralat lalai

Jika diperlukan, kembali kepada pengendali ralat lalai PHP menggunakan pemulihan_error_handler .

restore_error_handler ();

Ini berguna jika anda hanya mahu pengendalian tersuai di bahagian tertentu aplikasi anda.

Pada asasnya, set_error_handler membantu anda memintas dan menguruskan kesilapan PHP yang tidak maut dengan anggun. Ingatlah: ia tidak menimbulkan kesilapan maut seperti kesilapan parse atau e_error -use register_shutdown_function dan error_get_last () untuk kes tersebut.

Atas ialah kandungan terperinci Cara menggunakan set_error_handler untuk membuat pengendali ralat tersuai di php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT

Stock Market GPT

Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1679
276
Bagaimana Melaksanakan Corak Singleton di PHP? Bagaimana Melaksanakan Corak Singleton di PHP? Sep 25, 2025 am 12:27 AM

Corak Singleton memastikan bahawa kelas hanya mempunyai satu contoh dan menyediakan titik akses global untuk senario di mana objek tunggal menyelaraskan operasi sistem, seperti sambungan pangkalan data atau pengurusan konfigurasi. 2. Struktur asasnya termasuk: contoh penyimpanan atribut statik peribadi, pembina swasta menghalang penciptaan luaran, kaedah pengklonan peribadi menghalang penyalinan, dan kaedah statik awam (seperti getInstance ()) untuk mendapatkan contoh. 3. Dapatkan contoh yang unik dalam PHP dengan memanggil kaedah GetInstance (), dan mengembalikan rujukan objek yang sama tidak kira berapa kali ia dipanggil. 4. Di bawah model permintaan PHP standard, keselamatan benang tidak perlu dipertimbangkan, tetapi isu-isu penyegerakan perlu diberi perhatian dalam persekitaran jangka panjang atau multi-threaded, dan PHP sendiri tidak menyokong mekanisme kunci asli. 5. Walaupun singleton berguna,

Bagaimana cara menggunakan pengendali coalescing null (??) dalam php? Bagaimana cara menggunakan pengendali coalescing null (??) dalam php? Sep 25, 2025 am 01:28 AM

Jawapan: Pengendali gabungan kosong PHP (??) digunakan untuk memeriksa sama ada kekunci pembolehubah atau array wujud dan tidak batal. Jika benar, ia mengembalikan nilainya, jika tidak, ia mengembalikan nilai lalai. Ia mengelakkan penggunaan pemeriksaan isset panjang (), sesuai untuk mengendalikan pembolehubah yang tidak ditentukan dan kekunci array, seperti $ pengguna pengguna = $ userInput?

Bagaimana untuk mendapatkan parameter URL dalam PHP? Bagaimana untuk mendapatkan parameter URL dalam PHP? Sep 24, 2025 am 05:11 AM

Gunakan $ _get untuk mendapatkan parameter URL, seperti? Name = John & Age = 25; Semak kewujudan melalui isset atau pengendali gabungan kosong, dan penapis dan sahkan data dengan Filter_Input untuk memastikan keselamatan.

Bagaimana untuk melumpuhkan fungsi dalam PHP? Bagaimana untuk melumpuhkan fungsi dalam PHP? Sep 24, 2025 am 02:40 AM

Todisableaphpfunction, usedisable_functionsinphp.iniforbuilt-infunctionsLikeExecorsystem, yang manablocksthemgloballyforsecurity;

Bagaimana untuk memuat turun fail dari URL di PHP? Bagaimana untuk memuat turun fail dari URL di PHP? Sep 24, 2025 am 05:45 AM

Jawapan: Gunakan file_get_contents dan curl untuk memuat turun fail URL, bekasnya mudah tetapi terhad, manakala yang terakhir lebih fleksibel dan menyokong streaming. Contohnya termasuk membaca dan menulis fail secara langsung, pilihan penetapan permulaan curl dan penjimatan, menambah pengendalian ralat dan pemeriksaan status HTTP. Fail besar disyorkan untuk mengalir muat turun di blok untuk menjimatkan ingatan, memastikan direktori itu boleh ditulis dan mengendalikan pengecualian dengan betul.

Bagaimana untuk melaksanakan antara muka dalam kelas PHP? Bagaimana untuk melaksanakan antara muka dalam kelas PHP? Sep 25, 2025 am 05:34 AM

Gunakan kata kunci untuk melaksanakan antara muka, dan kelas mesti menyediakan pelaksanaan khusus semua kaedah dalam antara muka. 2. Tentukan antara muka untuk mengisytiharkan kaedah menggunakan kata kunci antara muka. 3. Kelas melaksanakan antara muka dan mengatasi kaedah. 4. Buat objek dan panggil kaedah untuk mengeluarkan hasilnya. 5. Kelas boleh melaksanakan pelbagai antara muka untuk memastikan spesifikasi dan pemeliharaan kod.

Bagaimana untuk membersihkan input pengguna untuk mengelakkan XSS dalam PHP? Bagaimana untuk membersihkan input pengguna untuk mengelakkan XSS dalam PHP? Sep 25, 2025 am 05:19 AM

TopreventXsSinphp, SanitizeUserInputandescapeOutputBasedOnContextusingHtmlSpecialChars () forhtml, json_encode () forjavascript, dan validatestrictLyWithFilter_var () forexpectedDatatypes, sementara yangDeAvoidingDeprecatedFunctionsandingingContent-Security-Policyheadersfo

Bagaimana cara menggunakan kaedah Get dan Post dalam bentuk HTML dengan PHP? Bagaimana cara menggunakan kaedah Get dan Post dalam bentuk HTML dengan PHP? Sep 25, 2025 am 03:46 AM

Kaedah GET melampirkan data ke URL, yang sesuai untuk maklumat yang tidak sensitif; Kaedah pos menghantar data melalui badan permintaan, yang lebih selamat dan sesuai untuk maklumat sensitif.

See all articles