PHP set_error_handler() 函數
阿新 • • 發佈:2017-08-04
rst 未在 comm 接受 false 如果 返回值 用法 ger
實例
通過 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() 函數設置用戶定義的錯誤處理函數。
註釋:如果使用該函數,會繞過標準 PHP 錯誤處理程序,同時如果必要,用戶定義錯誤程序通過 die() 終止腳本。
註釋:如果錯誤發生在腳本執行之前(比如文件上傳時),將不會調用自定義的錯誤處理程序因為它尚未在那時註冊。
語法
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 set_error_handler() 函數