You do not have an explicit return in the second example. In this case, it will return the value within the try block. It makes intuitive sense because Java has already executed the code inside the try block. It would not the executed that block again after executing the finally block.