No in this case the finally block will not execute because when you say System.exit (0); the control immediately goes out of the program, and thus finally never executes.