set_error_handler()对于致命错误不起作用 [英] set_error_handler() doesn't work for FATAL error

查看:81
本文介绍了set_error_handler()对于致命错误不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个简单的自定义错误处理程序,可以在错误日志文件中写入一些有用的调试信息.

I have a simple custom error handler that writes in a error log file some useful debug infos.

它适用于所有事物,但不会因致命错误而触发.

it's work for everything but it's not get triggered for FATAL error.

有什么办法解决这个问题?

Any way to solve this?

当前为了避开这种情况,我也注册了一个关闭功能,该功能可以检查error_get_last()

Currently to bypass this circumstance I have registered a shutdown function too that checks error_get_last()

推荐答案

不是,这只是

Nope, that's just a limitation of set_error_handler(); it doesn't handle all errors.

以下错误类型无法使用用户定义的函数处理:E_ERRORE_PARSEE_CORE_ERRORE_CORE_WARNINGE_COMPILE_ERRORE_COMPILE_WARNING,以及文件中引发的大多数E_STRICT调用set_error_handler()的位置.

The following error types cannot be handled with a user defined function: E_ERROR, E_PARSE, E_CORE_ERROR, E_CORE_WARNING, E_COMPILE_ERROR, E_COMPILE_WARNING, and most of E_STRICT raised in the file where set_error_handler() is called.

register_shutdown_function() error_get_last() 是一个不错的解决方法.

The register_shutdown_function() and error_get_last() is a decent workaround.

这篇关于set_error_handler()对于致命错误不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆