Granny's Programming Pearls
"inside of every large program is a small program struggling to get out"
JavaRanch.com/granny.jsp
The moose likes Programmer Certification (SCJP/OCPJP) and the fly likes Exceptions Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Android Security Essentials Live Lessons this week in the Android forum!
JavaRanch » Java Forums » Certification » Programmer Certification (SCJP/OCPJP)
Bookmark "Exceptions" Watch "Exceptions" New topic
Author

Exceptions

Carlo Leeuwen
Greenhorn

Joined: Nov 07, 2007
Posts: 3
Hello,
The question is what will be printed after this code has run:


The answer seems to be:
"The program will print 1, 4 and 5, in that order."

But I don't understand why '5' is printed. After the finally, shouldn't the main method be done? Can anyone explain me?

Thanks in advance!
Kelvin Chenhao Lim
Ranch Hand

Joined: Oct 20, 2007
Posts: 513
Hi Carlo,

When a program reaches the end of a "finally" block, it does not then exit the current method. Rather, it continues on to the next line after the whole "try..catch..finally" construct.

Don't be confused by the keyword "finally". Despite the name, it's not that final. It's only "final" with respect to the "try..catch..finally" construct that it's a part of.


SCJP 5.0
Carlo Leeuwen
Greenhorn

Joined: Nov 07, 2007
Posts: 3
Ok thanks, I guess I mixed up some things.
 
jQuery in Action, 2nd edition
 
subject: Exceptions
 
Similar Threads
try /catch problem?
952739444280 why?
Enthuware questions
unreachable code in 'finally'
Why is 5 getting printed here?