Edit report at http://bugs.php.net/bug.php?id=32100&edit=1
ID: 32100
Comment by: attila dot m dot magyar 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:
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
Previous Comments:
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
[2011-02-17 16:54:06] tyra3l at gmail dot com
+1 for adding the feature.
I'm a little bit disappointed that there are no comment from the php
core contributors on this issue except helly, and he didn't the first
which closed the, I could accept the fact, that this cannot be done by
technical reasons, but AFAIK it was rejected, because the core devs at
that time didn't used or understood the finally, so they said, that
nobody needs that.
http://marc.info/?l=php-internals&m=96773381231437&w=2
times has changed, try doesn't leaks memory nowdays (or does it?),
people got smarter, machines faster, maybe we could reconsider this
feature, and reject it based on the current situation, not from a vague
discussion from 10 years ago.
Tyrael
------------------------------------------------------------------------
[2011-02-17 14:14:33] hardyanto dot donny at gmail dot com
"finally" is very useful for using ADODB:
$db->StartTransaction();
try{
....
... any exception can occur here...
....
} finally {
$db->CompleteTrans();
}
Even there is exception occur in try block, the CompleteTrans() always
be
called.
------------------------------------------------------------------------
[2010-12-10 23:22:17] btsai at vrwarp dot com
Wouldn't the argument against finally from Bjarne Stroustrup's C++ Style
and Technique FAQ
(http://www2.research.att.com/~bs/bs_faq2.html#finally) hold true?
Basically, most good uses of finally are used for deallocating
resources. Another way would simply be to design an object that
represents the resource that automatically deallocates itself via the
destructor.
------------------------------------------------------------------------
[2010-12-10 16:08:56] marcus at lastcraft dot com
Hi...
The lack of finally causes us some crufty hard to debug code. The
comment about swallowing the source of the exception is not an academic
one - I've had grief over this.
As for exceptions being used for "control flow" - they are control flow,
that's the whole point. There is an antiquated argument from the C++ era
about this, mostly driven by outdated performance data. Exceptions are
not the same as errors, being more akin to a continuation when the usual
return path does not make sense.
Please, plase add finally to PHP as Java did to C++.
yours, Marcus
------------------------------------------------------------------------
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