默认情况下,Xdebug会转储任何异常,无论它是否被捕获:
try {
throw new Exception();
}
catch (Exception $e) {
}
echo 'life goes on';
启用 XDebug 并使用默认设置,这段代码实际上会输出类似下面这样(格式良好)的内容:
( ! ) Exception: in /test.php on line 3 Call Stack
# Time Memory Function Location 1 0.0003 52596 {main}( ) ../test.php:0
life goes on
是否有可能禁用此行为,并仅转储未捕获的异常?
提前致谢。
更新:我即将得出结论,这是一个错误,因为xdebug.show_exception_trace默认情况下被禁用,但它并没有按预期方式运行(在Ubuntu 9.10上使用PHP 5.2.10和Xdebug v2.0.5)。