Syntax aside, what is the difference between
try { } catch() { } finally { x = 3; }
and
try { } catch() { } x = 3; >
So you can clean up any open connections, etc. initialized in the try block. If you opened a connection and then an exception occurred, that exception would not be properly closed. This type of scenario is what the finally block is for.