I think that you are on the right lines in thinking that the return statements in the try and catch blocks are redundant. I checked it out by commenting out these return statements and the class compiles OK. I guess that this piece of code was used for certification purposes to
test the knowledge of finally.