A finally block is always executed, regardless of whether or not exceptions are thrown.
import java.io.IOException;
public class MainClass {
public static void main(String[] args) {
try {
System.out.println("In second try block in main()");
System.in.read();
return;
} catch (IOException e) {
System.out.println("I/O exception caught in main()");
} finally {
System.out.println("finally block for second try block in main()");
}
System.out.println("Code after second try block in main()");
}
}
In second try block in main()
finally block for second try block in main()