php - 从异常处理程序中触发错误

标签 php exception error-handling

鉴于我已经有一个自定义的PHP错误处理程序,将异常处理程序定义为“转发器”是否有意义,如下所示:

function exception_handler(Exception $e) {
    trigger_error($e->getMessage(), E_USER_ERROR);
}
set_exception_handler('exception_handler');

想法是也利用现有的错误处理程序来处理异常,以避免重复相同的代码。从异常处理程序内部触发错误是否会引起一些问题?

最佳答案

完全没有问题。我有相同的设置,我的错误处理程序通过电子邮件向我发送异常和错误信息。

这是我的异常处理程序,我输入了一个我未捕获的异常的错误。这样,我知道它是由异常而不是错误引起的。它还会告诉我由于get_class而引起的异常。

function exception_handler(Exception $e) {
  trigger_error('Uncaught ' . get_class($e) . ', code: ' . $e->getCode() . "<br/>\n Message: " . htmlentities($e->getMessage()), E_USER_WARNING);
}

由于我的错误处理程序发送了HTML电子邮件,因此我在异常处理程序中添加了html。您可能要删除它。

关于php - 从异常处理程序中触发错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1434287/

相关文章:

Android 无法从 Activity 访问 textView 组件

exception - 单向操作抛出异常

rest - 自定义 Spring Boot 异常处理以防止在 Rest 响应中返回 Stacktraces

asp.net-mvc - 在MVC中显示捕获异常

php - 如何在php中获取 "at"shell命令输出?

php - 防止 json_encode 关联数组排序

php - 如何使用GCM向应用程序推送消息?

php - 在数据库中保存包含复选框值的 list

javascript - NodeJs 错误处理 try catch block 中的 promise 错误

python - 如何处理用 Pandas 导入的数据?