No, it is not legal. It is a branching statement. Put simply, you are
altering the flow of the code by bailing out during a clean up operation,
which is not permitted. As a finally ALWAYS runs, put the return outside of
the block.
--
Gregory A. Beamer
MVP; MCP: +I, SE, SD, DBA
***************************
Think Outside the Box!
***************************