php - 有什么方法可以使PHP在未设置/ undefined variable 和数组索引等中止?

标签 php error-handling

当前,当访问 undefined variable 和数组索引时,PHP会触发(并记录日志(如果启用了日志记录))E_NOTICE'错误'。有没有办法使它们中止这些,这样我知道我不会错过任何一个。坦率地说,IMO,无论如何在这种情况下脚本都经常中止,因为它不可避免地会破坏执行路径。在其他所有情况下,都有'@'运算符,这就是它的作用,对吗?

我知道我可以使用自定义错误处理程序并在任何情况下中止。实际上,我确实已经使用过一个,但是我确实有一些地方可以触发通知自己(被授予E_USER_NOTICE而不是PHP自己的E_NOTICE),而且我还总是返回false,让PHP自己的内部处理程序执行其工作-记录并中止错误,继续其他一切。

然后在其他情况下,PHP会产生E_NOTICE,而我不想中止脚本。基本上,没有办法让我知道某个特定的E_NOTICE是变量未设置还是完全无害的结果(无论如何都应引起注意)。

有没有人提供一个整洁,非骇客的解决方案?一些推荐的方法吗?

干杯。

最佳答案

我敢肯定没有本地的PHP方法可以做到这一点。

扩展您已经存在的错误处理程序以查看错误消息(stristr($errmsg, "undefined variable") ...)和die()(如果需要)是想到的最好(也是唯一)方法。

关于php - 有什么方法可以使PHP在未设置/ undefined variable 和数组索引等中止?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3109502/

相关文章:

php - SQLSTATE[22007] : Invalid datetime format: 1292 Incorrect datetime value: '1970-01-01 00:00:01' for column 'created_at' at row 1

javascript - 如何在页面加载时使用 mysql 查询结果设置单选按钮值后触发 javascript 函数

javascript - Backbone.js:如何让 View 处理模型的错误?

php - Symfony表单未显示正确的错误(正在星座图上)

java - Java错误处理导致无限循环

php - 使用PHP通过FTP递归扫描目录和子目录

php - PDO Access 数据库 - 插入行时出现非法字符

c++ - 如何处理传递给构造函数的语法上有效但逻辑上无效的参数?

asp.net-mvc - MVC捕获异常后在哪里可以找到错误信息

javascript - 将图像上传到 MySQL 数据库的正确方法是什么?