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

Cou*_*les 6 php exception xdebug

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

但是,在进行开发时,除了我自己的处理之外,我还想让 XDebug 执行正常的“异常”和“错误”处理。

我发现如果我自己的错误处理程序返回 FALSE,我可以很容易地让 XDebug 继续执行“错误”处理。但我找不到一种方法来通过“异常”处理获得类似的效果。

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

Koe*_*en. 3

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

因此,要将堆栈跟踪的异常可视化为 Xdebug,您可以执行如下操作:

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

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