In Peter Hagar’s book, Practical Java, he recommends that you do not return from a try block. This is because the finally block may change the return value.
Traditionally, programmers think that when they execute a return statement they immediately leave the method they are executing. In Java, this is no longer true with the usage of finally…
To avoid this pitfall, be sure you do not issue a return, break or continue statement inside of a try block. If you cannot avoid this, be sure the existence of a finally does not change the return value of the method. This particular problem can arise during maintenance of your code, even with careful design and implementation. Good comments and careful code reviews ward it off.