使用自己的异常处理程序时保留Xdebug异常处理

时间:2013-08-07 05:38:15

标签: php exception-handling xdebug

我在PHP项目中编写了自己的异常和错误处理程序。

然而,在进行开发时,我想让XDebug做正常的"例外"和"错误"处理我自己的。

我发现我可以很容易地让XDebug继续做"错误"处理如果我自己的错误处理程序返回FALSE。但我无法找到一种方法来获得类似的效果" Exception"处理

我希望我可以手动调用XDebug函数。 xdebug_print_function_stack()是我能看到的最接近的东西,但它不会给出触发异常的真实堆栈跟踪。

1 个答案:

答案 0 :(得分:2)

Xdebug为每个抛出的 Exception添加一个属性,即xdebug_message,其中包含通常由Xdebug显示的表的内容。

因此,要将stacktrace可视化为Xdebug,您可以执行以下操作:

try {
   $result = fetch();
}catch(Exception $e){
   echo '<table>' . $e->xdebug_message . '</table>';
}

在搜索xdebug_message的文档时,我偶然发现了一个可能重复的问题:Methods for an Xdebug Exception class