我正在使用trigger_error在自定義類中「拋出」錯誤。我的問題是,trigger_error輸出trigger_error被調用的行號。例如,假設下面的代碼:如何在PHP中使用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將打印出以下幾點:
警告:自定義錯誤test.php的上線
如何讓PHP返回doAction()函數被調用的行(在類外調用的方法,忽略在內部進行的調用)如下所示?
警告:自定義錯誤test.php的上線
編輯:修改我的例子是東西有點接近我想要實現。
大概,對行號的需求會表明某種*非常差*的錯誤,其中開發人員需要進行一些嚴肅的調試。在這種情況下,我不會想到解析debug_backtrace()的輸出會消耗多少成本。 – 2008-10-09 08:50:35