PHP set_error_handler() 函數(shù)
定義和用法
set_error_handler() 函數(shù)設(shè)置用戶自定義的錯(cuò)誤處理函數(shù)。
該函數(shù)用于創(chuàng)建運(yùn)行時(shí)期間的用戶自己的錯(cuò)誤處理方法。
該函數(shù)會(huì)返回舊的錯(cuò)誤處理程序,若失敗,則返回 null。
語法
set_error_handler(error_function,error_types)
| 參數(shù) | 描述 |
|---|---|
| error_function | 必需。規(guī)定發(fā)生錯(cuò)誤時(shí)運(yùn)行的函數(shù)。 |
| error_types | 可選。規(guī)定在哪個(gè)錯(cuò)誤報(bào)告級(jí)別會(huì)顯示用戶定義的錯(cuò)誤。默認(rèn)是 "E_ALL"。 |
提示和注釋
提示:如果使用了該函數(shù),會(huì)完全繞過標(biāo)準(zhǔn)的 PHP 錯(cuò)誤處理函數(shù),如果必要,用戶定義的錯(cuò)誤處理程序必須終止 (die() ) 腳本。
注釋:如果在腳本執(zhí)行前發(fā)生錯(cuò)誤,由于在那時(shí)自定義程序還沒有注冊(cè),因此就不會(huì)用到這個(gè)自定義錯(cuò)誤處理程序。
例子
<?php
//error handler function
function 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 handler
set_error_handler("customError");
$test=2;
//trigger error
if ($test>1)
{
trigger_error("A custom error has been triggered");
}
?>
輸出:
Custom error: [1024] A custom error has been triggered Error on line 19 in C:\webfolder\test.php Ending Script