忽略错误是个好主意


Good idea to ignore errors?

我发现在我的系统上"error_reporting"被关闭了。所以我把它打开(E_ALL),现在我有很多错误。

如果你对我的错误感兴趣:

Notice: Undefined index: page in …path/file.php on line 22
Notice: Undefined offset: 1 in …path/file.php on line 49
Notice: Undefined offset: 2 in …path/file.php on line 57
Notice: Undefined offset: 3 in …path/file.php on line 58
Notice: Undefined variable: out in …path/file.php on line 85
Notice: Undefined variable: out in …path/file.php on line 109
Notice: Use of undefined constant M_DESCRIPTION - assumed 'M_DESCRIPTION' in …path/file.php on line 181
Notice: Use of undefined constant GA_TRACKER - assumed 'GA_TRACKER' in …path/file.php on line 291
Notice: A session had already been started - ignoring session_start() in …path/file.php on line 12
Notice: Undefined variable: attributes in …path/file.php on line 86
Notice: Undefined variable: li in …path/file.php on line 129
Notice: Undefined index: breakafterlabel in …path/file.php on line 175
Notice: Undefined index: afterlabel in …path/file.php on line 167
Notice: Undefined index: attributes in …path/file.php on line 188
Notice: Undefined index: value in …path/file.php on line 191
Notice: Undefined index: for in …path/file.php on line 163
Notice: Undefined index: attributes in …path/file.php on line 249
Notice: Undefined index: value in …path/file.php on line 299
Notice: Undefined variable: out in …path/file.php on line 109
Notice: Undefined offset: 0 in …path/file.php on line 418
Notice: Undefined index: maxlength in …path/file.php on line 368
Notice: Undefined index: accept in …path/file.php on line 372
Notice: Undefined variable: out in …path/file.php on line 93
Notice: Undefined index: accept in …path/file.php on line 378
Notice: Undefined index: title in …path/file.php on line 379
Notice: Undefined index: accept in …path/file.php on line 402
Notice: Undefined index: fp in …path/file.php on line 624
Notice: Undefined variable: alert_msg in …path/file.php on line 246
Notice: Undefined variable: returner in …path/file.php on line 87
Notice: Undefined index: body in …path/file.php on line 309
Notice: Undefined variable: out in …path/file.php on line 81
Notice: Undefined variable: defaults in …path/file.php on line 121

一开始我想"哦,你最好再把它关掉",但我不确定后果如何!

所以非常简单的问题是:如果我忽略所有的错误是否重要?

在开发环境中,最好使用error_reporting(E_ALL),这样您也可以看到注意事项。这鼓励你有一个更高的编码标准。

当运行一个在线站点时,你必须有display_errors off,但是记录你的错误(就像你正在做的那样)

这样,您将只看到有意义的错误,而不仅仅是"Notice: Undefined…"。如果网站已经完成了,你应该花一点时间重构你的代码,长期的好处是值得的。

如果您只是想暂时隐藏一些消息错误,请使用@:

echo @$undefined;
@session_start;

这不会解决你的错误,但使你的错误清单更清晰,当你修复它

答案是:不!忽略错误可能会导致意外行为。此外,它可能会减慢程序/脚本的执行速度。所以你最好不要忽视它们,而要解决它们。

要更详细:在大多数情况下,Undefined offset错误是没有问题的,Use of undefined constant常数或失败的session_start可能是危险的。

您应该注意错误和警告。他们是在说你在……方面做错了什么。

错误在开发环境中非常有用。但是当您发布代码时,最好禁用它们。