Exception propagation in Java

Exception propagation in Java occurs when an exception thrown from the top of the stack. When it is not caught, the exception drops down the call stack of the preceding method. If it is not caught there, it further drops down to the previous method. This continues until the method reaches the bottom of the call stack or is caught somewhere in between.


Let us see an example which illustrates exception propagation in Java −

 Live Demo

public class Example {
   void method1() // generates an exception {
      int arr[] = {10,20,30};
   void method2() // doesn't catch the exception {
   // method1 drops down the call stack
   void method3() // method3 catches the exception {
      try {
      } catch(ArrayIndexOutOfBoundsException ae) {
         System.out.println("Exception is caught");
   public static void main(String args[]) {
      Example obj = new Example();


The output is as follows −

Exception is caught