例
設置一用戶定義的錯誤處理程序函數與所述set_error_handler()函數,並觸發錯誤(with trigger_error()
<?php
// A user-defined error handler function
function myErrorHandler($errno, $errstr, $errfile, $errline) {
echo "<b>Custom error:</b> [$errno] $errstr<br>";
echo " Error on line $errline in $errfile<br>";
}
// Set user-defined error handler function
set_error_handler("myErrorHandler");
$test=2;
// Trigger error
if ($test>1) {
trigger_error("A custom error has been triggered");
}
?>
上面的代碼將輸出是這樣的:
Custom error: [1024] A custom error has been triggered
Error on line 14 in C:\webfolder\test.php
定義和用法
所述set_error_handler()函數將用戶定義的錯誤處理函數。
Note:如果使用此功能,標準的PHP錯誤處理程序是完全旁路,用戶定義的錯誤處理程序必須終止腳本, die()如果需要的話。
Note:如果在執行腳本之前無法使用的自定義錯誤處理程序,因為它沒有在規定時間內註冊出現的錯誤。
句法
set_error_handler( errorhandler ,E_ALL|E_STRICT) ;
參數 | 描述 |
---|---|
errorhandler | 需要。 指定在錯誤運行的函數的名稱 |
E_ALL|E_STRICT | 可選的。 指定要在其錯誤報告水平將要顯示的用戶定義的錯誤。 默認值是"E_ALL" |
技術細節
返回值: | 包含先前定義的錯誤處理程序的字符串 |
---|---|
PHP版本: | 4.0.1+ |
PHP更新日誌: | PHP 5.5:參數的ErrorHandler現在接受NULL PHP 5.2:錯誤處理程序必須返回FALSE填充$ php_errormsg中 |
<PHP誤差基準