PHP:需要对自定义错误和异常处理程序以及trigger_error进行一些澄清


PHP: need some clarification about custom error and exception handlers and trigger_error

问题#1:我有一个自定义error_handler要由set_error_handler()注册。如果我在里面拦截E_USER_ERROR,我应该手动调用die()exit()来结束脚本,或者它将由 PHP 自动完成。

问题#2:我有一个自定义exception_handler要由set_exception_handler()注册。我应该手动调用die()exit()来结束脚本,还是由 PHP 自动完成。

问题#3:如果我有error_reporting(0)是否意味着我的trigger_error()调用不会触发错误

你检查过手册吗? :)

1.) http://php.net/set-error-handler

另请注意,如有必要,您有责任 die()。如果错误处理程序函数返回,则脚本执行将继续执行导致错误的语句之后的下一条语句。

2.) http://php.net/set-exception-handler

调用 exception_handler 后,执行将停止。

3.) http://php.net/trigger-error

生成用户级错误/警告/通知消息。

这将遵循E_USER_NOTICEerror_reporting设置,除非使用第二个参数。