On Wed, 2003-08-06 at 09:14, Marcus B�rger wrote:
> Hello Cristiano,
[...]
> There's absolute no need for finally:
>
> try {
> }
> catch (...) {
> }
> // here's you're finally code
Well, consider:
function foo() {
try {
// ...
} catch (Exception $e) {
// ...handle it...
return false;
} finally {
// ...clean up...
}
// ...continue doing whatever...
return true;
}
The cleanup code is always to be executed, the method should of course
not continue in case an exception was caught.
OK, I could write:
function foo() {
try {
// ...
} catch (Exception $e) {
// ...handle it...
}
// ...clean up ...
if ($e) return false;
// ...continue doing whatever...
return true;
}
so all it boils down to is, I guess, syntactic sugar.
Evil programming language sourcecode below:)
----------------------------------------------------------------------------
[EMAIL PROTECTED]:~ > cat FinallyTest.java
class FinallyTest {
public static void main(String[] args) {
boolean success= FinallyTest.test(args.length > 0);
System.out.println("Success? " + success);
}
public static boolean test(boolean dothrow) {
try {
if (dothrow) {
throw new Exception("Test");
}
} catch (Exception e) {
e.printStackTrace();
return false;
} finally {
System.out.println("<<< In finally >>>");
}
System.out.println("OK");
return true;
}
}
[EMAIL PROTECTED]:~ > CLASSPATH="." java FinallyTest
<<< In finally >>>
OK
Success? true
[EMAIL PROTECTED]:~ > CLASSPATH="." java FinallyTest 1
java.lang.Exception: Test
at FinallyTest.test(FinallyTest.java:10)
at FinallyTest.main(FinallyTest.java:3)
<<< In finally >>>
Success? false
- Timm
--
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php