In short, no matter what you do inside try , to finally exit the current loop or function, finally is executed. This is true for any return , break , continue and just about everything else that takes you anywhere: try can (usually) remain only through finally .
However, there are exceptions: as OldCurmudgeon notes, System.exit () does - if successful - does not execute finally .
source share