php restore_error_handler

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

 

发表评论

电子邮件地址不会被公开。

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>