Edit report at http://bugs.php.net/bug.php?id=32100&edit=1
ID: 32100 Comment by: ealexs at gmail dot com Reported by: ceefour at gauldong dot net Summary: Request 'finally' support for exceptions Status: Closed Type: Feature/Change Request Package: Feature/Change Request Operating System: * PHP Version: 5.* Block user comment: N Private report: N New Comment: PHP++ for finally in PHP ;) my code: disableSIPTrunk (10 lines of code) try { // do some stuff } finally { enableSIPTrunk (10 lines of code) } // saves duplicate code and it's very elegant ! Previous Comments: ------------------------------------------------------------------------ [2011-04-05 21:16:06] adam dot pippin at ohmedia dot ca --- Disable user permission checking try { Call a half a dozen methods } finally { Re-enable user permission checking } --- The ten year old discussion I found on the issue (http://marc.info/?l=php-internals&m=96774165717219&w=3) doesn't seem terribly applicable to my case. Specifically, it suggests: --- try { ... modify contents ... } catch { ... any error recovery code here ... } ... cleanup code ... --- Except my code doesn't 'recover' from errors. It runs back up the call stack and reports the error to the user. I have absolutely zero use for a catch here. My workaround (which, unlike a basic rethrow preserves the line/file): --- Disable permission checking try { Run methods } catch (Exception $e) { Enable permission checking throw new Exception($e->getMessage(), $e->getCode(), $e); } Enable permission checking --- The workaround simply requires a few extra lines of code and a bunch of duplicated code. But hey, finally isn't required, so it's all good. ------------------------------------------------------------------------ [2011-03-20 10:44:01] php at techdp dot co dot uk +++ for finally in PHP. It is one of the most elegant and expressive keywords in modern programming, allowing precise capture of error handling semantics, and easy authorship of bug-free code! ------------------------------------------------------------------------ [2011-02-19 17:34:09] gunter at web dot com ++ for finally in PHP. ------------------------------------------------------------------------ [2011-02-17 22:02:08] attila dot m dot magyar at gmail dot com I agree with the previous comments, a 'finally' keyword would be nice and useful when it fits to the conventions and standards applied in a project. If it's not hairy to implement and wouldn't introduce instability in the core, I'd reassure PHP developers to add this feature in a future release. Best regards, Athos ------------------------------------------------------------------------ [2011-02-17 17:09:54] tyra3l at gmail dot com sorry, I screwed up part of my comment when editing: "and he didn't the first which closed the" and he didn't explained in his comment why is it rejected, aside the fact that we (who?) dont't need it Tyrael ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/bug.php?id=32100 -- Edit this bug report at http://bugs.php.net/bug.php?id=32100&edit=1