我正在使用trigger_error 在自定义类中“抛出”错误。我的问题是,trigger_error 打印出调用trigger_error 的行号。例如,给出以下代码:
01 <?php
02 class Test {
03 function doAction() {
04 $this->doSubAction();
05 }
06
07 function doSubAction() {
08 if(true)
09 trigger_error('Custom error', E_USER_WARNING);
10 }
11 }
12
13 $var = new Test();
14 $var->doAction();
15 ?>
PHP 将打印出以下内容:
Warning: Custom error in test.php on line 9
如何让 PHP 返回调用 doAction() 函数的行(在类外部调用的方法,忽略内部进行的所有调用),如下所示?
Warning: Custom error in test.php on line 14
编辑:修改我的示例,使其更接近我想要实现的目标。
最佳答案
最好的办法是设置一个显示完整堆栈跟踪的错误处理程序。
设置自定义错误处理程序,并在其中调用 debug_print_backtrace()。您会发现这在一般情况下以及在这种特定情况下都很有用。
关于php - 在PHP中使用trigger_error时如何获得正确的行号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/185778/