【问题标题】:Tuning PHP exception reporting similar to error reporting调整类似于错误报告的 PHP 异常报告
【发布时间】:2012-04-24 13:57:32
【问题描述】:
对于 Apache Web 服务器,我们可以通过 php.ini 中的 error_reporting 条目调整错误报告。
是否有类似的异常报告设置?
我下面的代码显示error_reporting 不会影响exception throw 命令。
function actionTestThrow() {
error_reporting(null);
$i=122;
throw new Exception('abb');
$i=344;
echo $i;
}
【问题讨论】:
标签:
php
exception-handling
error-reporting
【解决方案1】:
异常总是致命的。你不能只是隐藏它们。如果您想忽略异常,则需要在 try catch 块中处理它。
你可以做的是扩展异常类(FatalException、NoticeException)等,并以不同的方式处理,更多关于 Extending Exceptions
【解决方案2】:
我认为你应该用try/catch块包装你的函数调用或函数体,当捕获到异常时只需使用trigger_error函数,以便通过php的error_reporting机制移动错误
【解决方案3】:
这里是如何设置自定义异常处理程序
function exception($e) {
var_dump($e);
}
set_exception_handler ( 'exception' );