php自訂錯誤處理的方法:可以利用set_error_handler()函數來實作。此函數可以設定使用者定義的錯誤處理函數,例如【set_error_handler("my_define_error")】。
自訂錯誤處理:
在錯誤發生時由我們自己來處理、設定一個錯誤處理的函數。
(影片教學推薦:php影片教學)
set_error_handler() 函數設定使用者定義的錯誤處理函數。
語法:
set_error_handler(errorhandler,E_ALL|E_STRICT);
參數:
errorhandler 必要。規定使用者錯誤處理函數的名稱。
E_ALL|E_STRICT 可選。規定顯示何種錯誤報告等級的使用者定義錯誤。預設是 "E_ALL"。
例如:set_error_handler(“my_define_error”);
然後定義函數,在函數中詳細設定錯誤的處理情況。
語法:
function my_define_error(errCode,errCode,errCode,errMsg,errFile,errFile,errFile,errLine){ 函数内部写入处理错误的代码 }
(相關教學建議:php圖文教學)
注意:此形參的順序是規定的,而且是由系統會統一呼叫的函數,並傳輸實際參數資料。
注意:自訂錯誤只能處理“非致命錯誤”,也就是說無法處理E_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
以上是php如何自訂錯誤處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!