ID:               36477
 Updated by:       [EMAIL PROTECTED]
 Reported By:      ch at westend dot com
-Status:           Open
+Status:           Assigned
 Bug Type:         Scripting Engine problem
 Operating System: Linux
 PHP Version:      5.1.2
-Assigned To:      
+Assigned To:      dmitry


Previous Comments:
------------------------------------------------------------------------

[2006-02-21 16:02:04] ch at westend dot com

Description:
------------
After calling "throw new Exception(..)" and entering the
function registered with "set_exception_handler()" the 
debug_backtrace() output is empty.

This is very inconvinient for self written error handling functions as
"trigger_error()" for example works fine for debug_backtrace.

I'm aware that the exception itself contains a stack trace
but is there really a reason to empty debug_backtrace()?


Reproduce code:
---------------
<?php

function exception_handler($e) { debug_print_backtrace(); }

function c() { throw new Exception("Problem!"); }
function b() { c(); }
function a() { b(); }

set_exception_handler('exception_handler');
a();

?>


Expected result:
----------------
Backtrace with
#1 exception_handler from c()
#2 c() from b()
#3 b() from a()
#4 a() from main



Actual result:
--------------
#0  exception_handler(Exception Object ([] => Problem!,[] => ,[] =>
0,[] => /home/ch/tt.php,[] => 5,[] => Array ([0] => Array ([file] =>
/home/ch/tt.php,[line] => 6,[function] => c,[args] => Array ()),[1] =>
Array ([file] => /home/ch/tt.php,[line] => 7,[function] => b,[args] =>
Array ()),[2] => Array ([file] => /home/ch/tt.php,[line] =>
10,[function] => a,[args] => Array ())))) called at [(null):0]



------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=36477&edit=1

Reply via email to