set_error_handler
設置用戶自定義的錯誤處理函數
set_error_handler()函數設置用戶定義的錯誤處理函數。
註釋:如果使用該函數,會繞過標準PHP 錯誤處理程序,同時如果必要,用戶定義錯誤程序通過die() 終止腳本。
註釋:如果錯誤發生在腳本執行之前(比如文件上傳時),將不會調用自定義的錯誤處理程序因為它尚未在那時註冊。
通過set_error_handler()函數設置用戶自定義的錯誤處理程序,然後觸發錯誤(通過trigger_error() ):
<?php
// 用戶定義的錯誤處理函數
function myErrorHandler ( $errno , $errstr , $errfile , $errline ) {
echo "<b>Custom error:</b> [ $errno ] $errstr <br>" ;
echo " Error on line $errline in $errfile <br>" ;
}
// 設置用戶定義的錯誤處理函數
set_error_handler ( "myErrorHandler" ) ;
$test = 2 ;
// 觸發錯誤
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 ( errorhandler , E_ALL | E_STRICT ) ;
| 參數 | 描述 |
|---|---|
| errorhandler | 必需。規定用戶錯誤處理函數的名稱。 |
| E_ALL|E_STRICT | 可選。規定顯示何種錯誤報告級別的用戶定義錯誤。默認是"E_ALL"。 |