Fungsi set_error_handler() PHP

Contoh

Mengatur program pemroses kesalahan yang disesuaikan melalui fungsi set_error_handler() dan kemudian mengaktifkan kesalahan (melalui fungsi trigger_error()):

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<bRalat disesuaikan:</b> [$errno] $errstr<br>";
     echo "Ralat ralat di baris $errline di $errfile<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 $test=2;
 // Trigger kesalahan
 if ($test>1) {
     trigger_error("Kesalahan yang disesuaikan telah diaktifkan");
 }
 ?> 

Output kod di atas seakan-akan seperti ini:

Kesalahan yang disesuaikan: [1024] Kesalahan yang disesuaikan telah diaktifkan
 Kesalahan di baris 14 di C:\webfolder\test.php

Definisi dan penggunaan

Fungsi set_error_handler() mengatur fungsi penanganan kesalahan pengguna yang ditakrifkan.

Komen:Jika digunakan fungsi ini, akan melanggar penanganan kesalahan standar PHP, dan jika perlu, program kesalahan pengguna yang ditakrifkan akan dihentikan skrip melalui die().

Komen:Jika kesalahan berlaku sebelum pelaksanaan skrip (seperti ketika muat naik fail), penggunaan penanganan kesalahan yang disesuaikan akan tidak dipanggil kerana ia belum didaftarkan pada masa itu.

Sintaks

set_error_handler(errorhandler,E_ALL|E_STRICT);
Parameter Deskripsi
errorhandler Diperlukan. Tentukan nama fungsi penanganan kesalahan pengguna.
E_ALL|E_STRICT Pilihan. Tentukan tahap laporan kesalahan pengguna yang ditakrifkan. Lelaki baku adalah "E_ALL".

Perincian teknikal

Hasil balik: String yang mengandungi penanganan kesalahan yang sebelumnya ditakrifkan.
Versi PHP: 4.0.1+
Log Perkembangan PHP:

PHP 5.5: Parameter errorhandler Sekarang menerima NULL

PHP 5.2: Penanganan kesalahan mesti kembali FALSE untuk memaparkan $php_errormsg.