Syntax aside, what is the difference between
try { } catch() { } finally { x = 3; }
and
try { } catch() { } x = 3; >
The finally block will always be called (well not really always ... ) even if an exception is thrown or a return statement is reached (although that may be language dependent). It's a way to clean up that you know will always be called.