Req #32100 [Com]: Request 'finally' support for exceptions

From: Date: Fri, 03 Aug 2012 04:47:29 +0000
Subject: Req #32100 [Com]: Request 'finally' support for exceptions
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-172407@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=32100&edit=1

 ID:                 32100
 Comment by:         ceefour at gauldong dot net
 Reported by:        ceefour at gauldong dot net
 Summary:            Request 'finally' support for exceptions
 Status:             Re-Opened
 Type:               Feature/Change Request
 Package:            *General Issues
 Operating System:   *
 PHP Version:        5.*
 Assigned To:        laruence
 Block user comment: N
 Private report:     N

 New Comment:

This is awesome !

My next suggestion would be automatic resource management.

e.g. in Scala :

import resource._
val first_ten_bytes = managed(new FileInputStream("test.txt")) map { 
  input =>
     val buffer = new Array[Byte](10)
     input.read(buffer)
     buffer
}

or in Java 7 :

static String readFirstLineFromFile(String path) throws IOException {
    try (BufferedReader br =
                   new BufferedReader(new FileReader(path))) {
        return br.readLine();
    }
}

But "finally" as it stands already rocks!!! Hopefully we can see it in PHP sooner than
later..... We've been waiting for a little bit too long (7 years) ;-)


Previous Comments:
------------------------------------------------------------------------
[2012-08-03 04:38:39] ceefour at gauldong dot net

Finally! :-)

Thanks a lot

------------------------------------------------------------------------
[2012-07-26 02:10:42] laruence@php.net

RFC complete, https://wiki.php.net/rfc/finally

------------------------------------------------------------------------
[2012-07-25 23:44:07] pravdin at vl dot ru

We are writing large web application on PHP using the OOP and programming 
patterns. Exceptions are not only error reporting mechanism but also very 
important program flow mechanism. So, try...finally is commonly needed. Please add 
this feature. I know, PHP is not OOP, but I think there is no reason to limit 
developers needs, especially when this needs are not for just a few single 
developers.

------------------------------------------------------------------------
[2012-07-24 10:59:57] laruence@php.net

I will try to make a implemention.

------------------------------------------------------------------------
[2012-07-18 23:13:07] pieceofchum at yahoo dot com

Hello I am a Java developer and would like to move over to PHP for my current personal projects. The
use of finally in Java is extremely powerful as it ensures that a unit of work that uses any
resources that need to be managed are guaranteed to be handled before leaving the method even whent
here is a catch clause. This has nothing to do with control flow and exception handling it has
everything to do with contract based blocks of code in fact finally is a totally unique construct
which greatly simplifies algorithms where one needs a guarantee of certain code running (usually to
handle external resources) no matter what happens outside of course of an error (error defined as
something that breaks the interpreter/compiler/environmen). It is not a mistake of design but a vast
improvement in code clarity and application of the DRY principle which is correct programming and
has nothing at all to do with improper control flow. It is not a mistake that it is in some form in
Python, Ruby, Java etc... Please please recondsider adding this extremely important construct to
PHP. 

Thanks for your consideration in this matter

------------------------------------------------------------------------


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

    https://bugs.php.net/bug.php?id=32100


-- 
Edit this bug report at https://bugs.php.net/bug.php?id=32100&edit=1


Thread (53 messages)

« previous php.bugs (#172407) next »