PHP捕获Fatal error错误的方法
内容摘要
Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了.
比如. fatal error 出在MySQL类中fetch的时候. 这个时候就
比如. fatal error 出在MySQL类中fetch的时候. 这个时候就
文章正文
Fatal error 一般是不需要捕获的, 但是在一个复杂的程序中, 如果偶然出现内存不足导致fatal error就难以处理了.
比如. fatal error 出在MySQL类中fetch的时候. 这个时候就很难定位到真正问题所在了.
PHP异常处理中 可以通过set_error_handler来捕获. 但是却只能捕获 NOTICE/WARNING级别的错误, 对于E_ERROR是无能为力的.
register_shutdown_function 能解决set_error_handler的不足.
通过此函数注册好程序结束回调函数, 就可以捕获平时捕获不到的错误了. 再通过 error_get_last 对错误进行判断. 就容易找出难以定位的问题了.
复制代码 代码如下:
function shutdown_function()
{
$e = error_get_last();
print_r($e);
}
register_shutdown_function('shutdown_function');
代码注释