PHP:自定义错误处理程序 – 处理解析和致命错误

如何处理解析&致命错误使用自定义错误处理程序?
最佳答案
简单答案:你不能。参见manual

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.

对于每一个其他错误,可以使用set_error_handler()

编辑:

由于似乎有一些关于这个话题的讨论,关于使用register_shutdown_function,我们应该看看处理的定义:对我来说,处理错误意味着捕捉错误,并以一种“好”的方式反应,为用户和底层数据(数据库,文件,Web服务等)。

使用register_shutdown_function,你不能在被调用的代码中处理错误,这意味着代码仍然会在发生错误的地方停止工作。但是,您可以向用户显示错误消息,而不是白页,但是例如,您无法回滚代码在失败之前所做的任何操作。

转载注明原文:PHP:自定义错误处理程序 – 处理解析和致命错误 - 代码日志