php - 在PHP中使用trigger_error时如何获得正确的行号?

标签 php error-handling

我正在使用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/

相关文章:

php - 从 mysql 检索数据

PHP 购物车 - 添加变量

php - 是否有必要学习所有 PHP 函数?

python - 当我不应该得到值(value)错误

php - 如何在php 5.3服务器上使用Braintree付款网关库3.5

php - mysql 的 UNION 查询有问题

php - 如何循环使用 mySQL 查询以返回数组

python - 在 Python 中出错继续下一步

c++ - C++ : a nonstatic member reference must be relative to a specific object

jsf - 异常时不重定向到错误页面