Finally Block Java Example Program

Syntax

try{
	//Do Something
}catch(Exception e){
	//Do something with caught exception
}finally{
	//Do something always - even when there is an exception
}


Finally block Example Program

public class FinallyBlock {
    static void divide(int num1, int num2){
        try{  
            int result=num1/num2;  
            System.out.println("Result after division : "+result);  
        }  
        catch(ArithmeticException e){
            System.out.println("Exception while performing division : "+e.toString());
        }  
        finally{
            System.out.println("I am inside finally block");
        }  
    }
    
    public static void main(String args[]){
        Scanner scanner = new Scanner(System.in);
        System.out.println("Enter number 1 : ");
        int num1 = scanner.nextInt();
        System.out.println("Enter number 2 : ");
        int num2 = scanner.nextInt();
        divide(num1,num2);
        System.out.println("Finally block is always executed even when there is an exception");
    }
} 


Sample Output 1

Enter number 1 : 
500
Enter number 2 : 
0
Exception while performing division : java.lang.ArithmeticException: / by zero
I am inside finally block
Finally block is always executed even when there is an exception


Sample Output 2 

Enter number 1 : 
40
Enter number 2 : 
2
Result after division : 20
I am inside finally block
Finally block is always executed even when there is an exception