用PHP中的@运算符抑制错误

在您看来,使用@运算符来抑制PHP中的错误/警告是否有效,而您可能正在处理错误?

如果是这样,你会在什么情况下使用它?

欢迎使用代码示例.

编辑:回复者的注意事项.我不打算关闭错误报告,但是,例如,通常的做法是使用

@fopen($file);

然后检查……但是你可以通过这样做摆脱@

if (file_exists($file))
{
    fopen($file);
}
else
{
    die('File not found');
}

或类似的.

我想问题是 – 是否有任何@HAS用于抑制错误,不能以任何其他方式处理?

解决方法:

我会压制错误并处理它.否则,您可能会遇到TOCTOU问题(检查时间,使用时间.例如,在file_exists返回true之后,但在fopen之前,文件可能会被删除).

但我不会只是压制错误以使它们消失.这些更好看.

上一篇:Java和python ^运算符


下一篇:java – 为什么会进入无限循环?