try and catch blocks in java

try block

try block is used to enclose the code that might throw an exception. It must be followed by either a catch or finally or both blocks.

 

Syntax of a try block with catch block

try{

       //block of statements

}catch(Exception handler class){

}

 

Syntax of try block with finally block

try{

       //block of statements

} finally {

}

 

Syntax of a try block with catch and finally block

try{

        //block of statements

}catch(Exception handler class){

}finally{

}

 

catch block

The catch block is used for the exception handler. It is used after the try block.

Syntax

try{

       //block of statements

}catch(Exception handler class){

}

 

The problem without exception handling.

class ArithmaticTest{

    public void division(int num1, int num2){
        //java.lang.ArithmeticException here 
                //and remaining code will not execute.
        int result = num1/num2;
        //this statement will not execute.
        System.out.println("Division = " + result);
    }
}

public class ExceptionHandlingExample1 {
    public static void main(String args[]){
        //creating ArithmaticTest object
        ArithmaticTest obj =  new ArithmaticTest();
        
        //method call
        obj.division(20, 0);
    }
}

 

Output

Exception in thread "main" java.lang.ArithmeticException: / by zero at 
com.w3schools.business.ArithmaticTest.division (ExceptionHandlingExample1.java:15) 
at com.w3schools.business.ExceptionHandlingExample1.main (ExceptionHandlingExample1.java:27)

 

Solution of the above problem using exception handling.

class ArithmaticTest{

    public void division(int num1, int num2){
        try{
            //java.lang.ArithmeticException here.
            System.out.println(num1/num2);
                //catch ArithmeticException here.
        }catch(ArithmeticException e){
            //print exception.
            System.out.println(e);
        }

      System.out.println("Remaining code after exception handling.");
    }
}

public class ExceptionHandlingExample2 {
    public static void main(String args[]){
        //creating ArithmaticTest object
        ArithmaticTest obj =  new ArithmaticTest();
        
        //method call
        obj.division(20, 0);
    }
}

Output

java.lang.ArithmeticException: / by zero 
Remaining code after exception handling.