PHP set_error_handler() fonksiyonu

Örnek

set_error_handler() fonksiyonu ile kullanıcı tanımlı hata işleme programı ayarlayın, ardından hata tetikleyin (trigger_error() ile):

<?php
 // 用户定义的错误处理函数
 function myErrorHandler($errno, $errstr, $errfile, $errline) {
     echo "<b>Özel hata:</b> [$errno] $errstr<br>";
     echo " Hata, satır $errline'da $errfile'da<br>";
 }
 // 设置用户定义的错误处理函数
 set_error_handler("myErrorHandler");
 $test=2;
 // Hata tetikleme
 if ($test>1) {
     trigger_error("Bir özel hata tetiklendi");
 }
 ?> 

Yukarıdaki kodun çıktısı şu şekilde benzerdir:

Özel hata: [1024] Bir özel hata tetiklendi
 C:\webfolder\test.php'deki 14. satırda hata

Tanım ve Kullanım

set_error_handler() fonksiyonu, kullanıcı tanımlı hata işleme fonksiyonunu ayarlar.

Yorum:Bu fonksiyonu kullanıldığında, standart PHP hata işleme programı atlanır ve gerekliyse, kullanıcı tanımlı hata programı die() ile betik sonlandırılır.

Yorum:Hata, betik çalıştırma öncesinde gerçekleşirse (örneğin, dosya yüklenirken), henüz o zamana kadar kaydedilmemiş olduğundan özelleştirilmiş hata işleme programı çağrılmaz.

Sözdizimi

set_error_handler(errorhandler,E_ALL|E_STRICT);
Parametreler Açıklama
errorhandler Gerekli. Kullanıcı hata işleme fonksiyonunun adını belirler.
E_ALL|E_STRICT Opsiyonel. Kullanıcı tanımlı hata raporlama seviyesini belirler. Varsayılan "E_ALL" dir.

Teknik Ayrıntılar

Dönüş Değeri: Önceki olarak tanımlanan hata işleme programını içeren bir dize.
PHP Sürümü: 4.0.1+
PHP Güncelleme Günlüğü:

PHP 5.5: Parametreler errorhandler Şu anda NULL kabul ediliyor

PHP 5.2: Hata işleme programı, $php_errormsg'ı göstermek için FALSE dönmelidir.