0

error_reporting 函数有一个奇怪的问题。

我想保存当前的 error_reporting 级别,禁用几行错误报告,然后将其恢复。所以我有以下代码:

$oldErrorReporting = error_reporting();
error_reporting(0);
//Some code, that will generate warning, or error, that I don't want to show
error_reporting(oldErrorReporting);

所以,如果我删除最后一行,就没有错误,一切正常。但是,如果我添加最后一行,则会在关闭错误报告时在代码中发生错误。那么,有没有办法清除error_reporting级别为0时发生的错误,并恢复默认的错误报告级别,而不会出现关闭错误报告时发生的错误?

4

2 回答 2

1

也许这只是一个错字(如果是这样,请不要为问题重写代码,只需复制和粘贴(并删除不必要的行)),但是您忘记了$最后一行中的 -sign:

error_reporting($oldErrorReporting);
于 2012-04-16T06:50:28.687 回答
1

什么样的代码会产生警告?如果是函数尝试而不是降低调试级别,以抑制警告本身 - 在函数名称前写“@”

看一下:

在 PHP 中使用 @ 运算符抑制错误

于 2012-04-16T06:56:15.730 回答