ID: 36826 Updated by: [EMAIL PROTECTED] Reported By: qlogix at gmail dot com -Status: Open +Status: Assigned Bug Type: Scripting Engine problem Operating System: Centos 4.1 PHP Version: 5.1.2 -Assigned To: +Assigned To: dmitry New Comment:
Dmitry, I think this was intentional behaviour, but can you confirm this? Previous Comments: ------------------------------------------------------------------------ [2006-03-22 22:43:38] qlogix at gmail dot com Description: ------------ Throwing an exception from inside a catch block within an exception handler function causes a fatal error. If I comment out the marked line, the fatal error does not occur. I would expect PHP to re-call the master exception handler function. Reproduce code: --------------- class TestException extends Exception { } set_exception_handler('handler'); function handler($ex) { /* Just to rule out recursion */ if ($ex instanceof TestException) { die("Recursion"); } try { /* This is where I would attempt to write to the db */ throw new Exception("someDBFunction failed"); } catch (Exception $ex) { /* If I comment out the following line, the error goes away */ throw new TestException("The db logging function failed..write to file."); } } throw new Exception("Ex"); Expected result: ---------------- The script should die with the message "Recursion" Actual result: -------------- Fatal error: Exception thrown without a stack frame in Unknown on line 0 ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=36826&edit=1