restore_error_handler()函数恢复PHP自身的错误处理程序。从下面的例子中,可以看出,当执行restore_error_handler()函数之后,我们自己定义的错误处理函数已经不在起作用了。
例子:
function handleError($errno, $errstr, $errfile, $errline)
{
echo "<b>Custom error:</b> [$errno] $errstr<br />";
echo " Error on line $errline in $errfile<br />";
}
set_error_handler("customError");
$test = 2;
if ($test>1)
{
trigger_error("A custom error has been triggered");
}
//恢复PHP本身的错误处理。正常显示trigger信息
restore_error_handler();
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 /Users/liguosong/work/php/Testing/test.php
Notice: A custom error has been triggered in /Users/liguosong/work/php/Testing/test.php on line 22 Call Stack: 0.0096 253080 1. {main}() /Users/liguosong/work/php/Testing/test.php:0 0.0100 253952 2. trigger_error(???) /Users/liguosong/work/php/Testing/test.php:22