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. |