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