致命错误通常不需要捕获,但在复杂的程序中,如果偶尔缺少内存,致命错误很难处理。

例如,当MySQL类中的取取出现致命错误时,此时很难找到真正的问题。

PHP异常处理可以被set_error_handler。但它只能捕获通知/警告级别的错误,这是无能为力的e_error。

register_shutdown_function可以解决set_error_handler短缺。

有了这个函数,我们就可以注册程序来完成回调函数,我们可以捕捉到我们通常不能捕捉到的错误。然后我们可以通过error_get_last判断错误。很难找出那些难以找到的问题。

复制代码代码如下所示:
shutdown_function()函数
{
e = error_get_last();
print_r(e);
}
register_shutdown_function('shutdown_function);