定義和用法
set_error_handler() 函數設定使用者自訂的錯誤處理函數
該函數用於建立運行時期間的使用者自己的錯誤處理方法。
該函數會返回舊的錯誤處理程式,若失敗,則返回 null。
文法 set_error_handler(error_function,error_types)
參數 描述 error_function 必需,規定發生錯誤時啟動並執行函數。
error_types 可選。規定在哪個錯誤報表層級會顯示使用者定義的錯誤。預設是 "E_ALL"。
提示和注釋
提示:如果使用了該函數,會完全繞過標準的 PHP 錯誤處理函數,如果必要,使用者定義的錯誤處理程式必須終止 (die() ) 指令碼。
注釋:如果在指令碼執行前發生錯誤,由於在那時自訂程式還沒有註冊,因此就不會用到這個自訂錯誤處理程式。
例子
<?php//error handler functionfunction customError($errno, $errstr, $errfile, $errline) { echo "<b>Custom error:</b> [$errno] $errstr<br />"; echo " Error on line $errline in $errfile<br />"; echo "Ending Script"; die(); }//set error handlerset_error_handler("customError");$test=2;//trigger errorif ($test>1) { trigger_error("A custom error has been triggered"); }?>
輸出:
Custom error: [1024] A custom error has been triggeredError on line 19 in C:\webfolder\test.phpEnding Script