Bug #72295 [NEW]: restore_exception_handler in finally block runs before catch

From: Date: Mon, 30 May 2016 21:03:27 +0000
Subject: Bug #72295 [NEW]: restore_exception_handler in finally block runs before catch
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-201353@lists.php.net to get a copy of this message
From: james dot beninger at gmail dot com Operating system: All PHP version: 7.0.7 Package: *General Issues Bug Type: Bug Bug description:restore_exception_handler in finally block runs before catch Description: ------------ When restore_exception_handler is called in a finally block, the *restored* exception handler handles the exception. I would expect the exception to be fully resolved before restore_exception_handler takes effect. The PHP documentation states "Code within the finally block will always be executed after the try and catch blocks, regardless of whether an exception has been thrown, and before normal execution resumes." Test script: --------------- <?php function handler1($e) { echo "\nhandler1"; } function handler2($e) { echo "\nhandler2"; } set_exception_handler('handler1'); set_exception_handler('handler2'); try { throw new Exception(); // 'handler1' is displayed. Expected: 'handler2' } finally { restore_exception_handler(); } -- Edit bug report at https://bugs.php.net/bug.php?id=72295&edit=1 -- Try a snapshot (PHP 5.4): https://bugs.php.net/fix.php?id=72295&r=trysnapshot54 Try a snapshot (PHP 5.5): https://bugs.php.net/fix.php?id=72295&r=trysnapshot55 Try a snapshot (trunk): https://bugs.php.net/fix.php?id=72295&r=trysnapshottrunk Fixed in SVN: https://bugs.php.net/fix.php?id=72295&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=72295&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=72295&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=72295&r=needscript Try newer version: https://bugs.php.net/fix.php?id=72295&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=72295&r=support Expected behavior: https://bugs.php.net/fix.php?id=72295&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=72295&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=72295&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=72295&r=globals PHP 4 support discontinued: https://bugs.php.net/fix.php?id=72295&r=php4 Daylight Savings: https://bugs.php.net/fix.php?id=72295&r=dst IIS Stability: https://bugs.php.net/fix.php?id=72295&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=72295&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=72295&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=72295&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=72295&r=mysqlcfg

« previous php.bugs (#201353) next »