Php 如何制作一个;“未定义的属性”;错误致命错误并终止脚本?

Php 如何制作一个;“未定义的属性”;错误致命错误并终止脚本?,php,Php,目前,每当生产应用程序中出现PHP错误时,我都会收到一封电子邮件。这很有效 今天,一个查询失败了,现在我看到数千个“未定义属性”错误(全部来自一个页面加载)。这个问题是级联成一个问题,发送电子邮件,因为这么多的错误电子邮件来给我 我想对PHP进行配置,使“Undefined property”成为一个致命错误,脚本在这一点上失败。这可能吗?生成错误\u处理程序: function errorHandler($severity, $message, $file, $line) { thro

目前,每当生产应用程序中出现PHP错误时,我都会收到一封电子邮件。这很有效

今天,一个查询失败了,现在我看到数千个“未定义属性”错误(全部来自一个页面加载)。这个问题是级联成一个问题,发送电子邮件,因为这么多的错误电子邮件来给我

我想对PHP进行配置,使“Undefined property”成为一个致命错误,脚本在这一点上失败。这可能吗?

生成错误\u处理程序:

function errorHandler($severity, $message, $file, $line) {
    throw new ErrorException($message, 0, $severity, $file, $line);
}
set_error_handler("exception_error_handler");

检查这里的文档

是的,有可能。查看该命令。假设您有一个基于异常发送电子邮件的单一功能,您可以修改它,以便在发送电子邮件后,
if
将检查脚本是否满足退出的条件,如果满足,则调用die或exit


但是,我建议不要在这种情况下使脚本崩溃,而是将错误输入到消息队列中,当脚本结束时,这些消息将作为错误摘要发送。

阅读并在找到对象后发送。这被标记为重复询问“什么是未定义属性”的问题。这不是我在这里要问的。@WilliamEntriken标记的副本告诉您如何正确地防止这些消息首先发生。如果在使用前有可能存在未定义的情况,则在使用前应始终检查该情况。在检查时,如果你发现它是未定义的,你可以根据自己的选择做出反应(抛出错误消息,无论什么)@Patrick仍然不知道这个问题是关于什么的……这种错误可能会发生,即使你非常努力地检查。你忽略了一个案例,它就发生了……问题是如果它发生了,如何以特定的方式处理它。@PatrickQ你可能正在使用一些工具或库,而其他人没有那么谨慎。编写代码之前的谨慎并不能解决如何处理已经以不那么谨慎的方式编写的代码的问题。