Friday, January 31, 2014

How to rethrow an exception in java?

Source:
class MyException extends Exception { }
 
public class RethrowException {
 
   public static void main(String[] args) {
 
      try {
         M1();
      } catch (Exception e) {
         System.out.println("main(): Caught "  + e.toString());
      }
   }
 
   public static void M1() throws MyException {
      try {
         M2();
      } catch (Exception e) {
         System.out.println("M1(): Caught " + e.toString());
 
         System.out.println("M1(): Rethrowing " + e.toString());
         throw e;
      }
   }
 
   public static void M2() throws MyException {
      System.out.println("M2(): Throwing MyException...");
      throw new MyException();
   }
}

Output:
   $ java RethrowException 
   M2(): Throwing MyException...
   M1(): Caught MyException
   M1(): Rethrowing MyException
   main(): Caught MyException

Blog Archive