From: Operating system: * PHP version: trunk-SVN-2010-12-09 (SVN) Package: Scripting Engine problem Bug Type: Bug Bug description:Exceptions are lost in case an exception is thrown in catch operator
Description: ------------ In ZEND_CATCH instruction PHP assigns exception object to the given variable and destroys its previous value, but this variable might keep an object that throws an exception during destruction. As result PHP loses both exceptions. Test script: --------------- <?php class Foo { function __destruct() { throw new Exception("ops 1"); } } function test() { $e = new Foo(); try { throw new Exception("ops 2"); } catch (Exception $e) { echo $e->getMessage()."\n"; } } test(); echo "bug\n"; Expected result: ---------------- information about exception(s) Actual result: -------------- bug -- Edit bug report at http://bugs.php.net/bug.php?id=53511&edit=1 -- Try a snapshot (PHP 5.2): http://bugs.php.net/fix.php?id=53511&r=trysnapshot52 Try a snapshot (PHP 5.3): http://bugs.php.net/fix.php?id=53511&r=trysnapshot53 Try a snapshot (trunk): http://bugs.php.net/fix.php?id=53511&r=trysnapshottrunk Fixed in SVN: http://bugs.php.net/fix.php?id=53511&r=fixed Fixed in SVN and need be documented: http://bugs.php.net/fix.php?id=53511&r=needdocs Fixed in release: http://bugs.php.net/fix.php?id=53511&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=53511&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=53511&r=needscript Try newer version: http://bugs.php.net/fix.php?id=53511&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=53511&r=support Expected behavior: http://bugs.php.net/fix.php?id=53511&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=53511&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=53511&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=53511&r=globals PHP 4 support discontinued: http://bugs.php.net/fix.php?id=53511&r=php4 Daylight Savings: http://bugs.php.net/fix.php?id=53511&r=dst IIS Stability: http://bugs.php.net/fix.php?id=53511&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=53511&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=53511&r=float No Zend Extensions: http://bugs.php.net/fix.php?id=53511&r=nozend MySQL Configuration Error: http://bugs.php.net/fix.php?id=53511&r=mysqlcfg