Saturday, 12 September 2015

Java catch multiple exceptions

Java catch multiple exceptions


Java Multi catch block

If you have to perform different tasks at the occurrence of different Exceptions, use java multi catch block.
Let's see a simple example of java multi-catch block.
  1. public class TestMultipleCatchBlock{  
  2.   public static void main(String args[]){  
  3.    try{  
  4.     int a[]=new int[5];  
  5.     a[5]=30/0;  
  6.    }  
  7.    catch(ArithmeticException e){System.out.println("task1 is completed");}  
  8.    catch(ArrayIndexOutOfBoundsException e){System.out.println("task 2 completed");}  
  9.    catch(Exception e){System.out.println("common task completed");}  
  10.   
  11.    System.out.println("rest of the code...");  
  12.  }  
  13. }  

Output:task1 completed
       rest of the code...

Rule: At a time only one Exception is occured and at a time only one catch block is executed.

Rule: All catch blocks must be ordered from most specific to most general i.e. catch for ArithmeticException must come before catch for Exception .

  1. class TestMultipleCatchBlock1{  
  2.   public static void main(String args[]){  
  3.    try{  
  4.     int a[]=new int[5];  
  5.     a[5]=30/0;  
  6.    }  
  7.    catch(Exception e){System.out.println("common task completed");}  
  8.    catch(ArithmeticException e){System.out.println("task1 is completed");}  
  9.    catch(ArrayIndexOutOfBoundsException e){System.out.println("task 2 completed");}  
  10.    System.out.println("rest of the code...");  
  11.  }  
  12. }  

Output:
Compile-time error

No comments:

Post a Comment