Edit report at https://bugs.php.net/bug.php?id=36779&edit=1
ID: 36779 Comment by: cmanley at xs4all dot nl Reported by: since71 at gmail dot com Summary: Request 'finally' support for exceptions Status: Open Type: Feature/Change Request Package: Feature/Change Request Operating System: All PHP Version: 5.1.2 Block user comment: N Private report: N New Comment: I agree. Not having "finally" is a language shortcoming. One example I just ran into that made me cuss at PHP is this. Without finally, one cannot use breaks in a try construct as break ends execution of the current for, foreach, while, do-while or switch structure. Code example: do { $lock = new PseudoLock(); try { // do stuff if (...) { break; // this is a no-no without finally } } catch(Exception $e) { $lock = null; // release lock throw $e; } $lock = null; // release lock // Do more stuff. } while (!$satisfied); Note how the inner break will cause both resource lock release attempts to be skipped. If the finally construct existed, the break would first pass through the finally where the lock can be released, and then pass out of it's loop structure. That's how it works in other languages. Previous Comments: ------------------------------------------------------------------------ [2006-03-18 03:47:34] since71 at gmail dot com Description: ------------ A previous thread for a request to add "finally" support for exceptions was relatively quickly killed in what seemed, to me, the beginning of a potentially useful thread (http://bugs.php.net/bug.php?id=32100) and I would like to re-open it. The original requestors comments rings true for many of us developing PHP. FWIW: I heartily agree that "finally" should be implemented in some (hopefully near) future version of PHP. ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=36779&edit=1