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 catch or finally or both blocks.

Syntax of 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 try block with catch and finally block:

try{

        //block of statements

}catch(Exception handler class){

}finally{

}

catch block:

Catch block is used for exception handler. It is used after try block.

Syntax :

try{

       //block of statements

}catch(Exception handler class){

}

Problem without exception handling.

ExceptionHandlingExample1.java

/**
 * This is a simple program which result 
 * into java.lang.ArithmeticException.
 * @author w3spoint
 */
class ArithmaticTest{
	/**
	 * This method is used to divide two integers.
	 * @param num1
	 * @param num2
	 */
	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.w3spoint.business.ArithmaticTest.division
(ExceptionHandlingExample1.java:15)
at com.w3spoint.business.ExceptionHandlingExample1.main
(ExceptionHandlingExample1.java:27)

Download this example.

Solution of the above problem using exception handling.

ExceptionHandlingExample2.java

/**
 * This is a simple program of handling 
 * java.lang.ArithmeticException.
 * @author w3spoint
 */
class ArithmaticTest{
	/**
	 * This method is used to divide two integers.
	 * @param num1
	 * @param num2
	 * @author w3spoint
	 */
	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.

Download this example.
 
Next Topic: Multiple catch blocks in java with example.
Previous Topic: Exception handling in java.

 

Content Protection by DMCA.com
Please Share