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"。 |