Java program on exceptions with printStackTrace() method Example 2

PROGRAM:

package stackTracePackage;

public class StackTraceClass {
    public static void main(String[] args) {
        System.out.println("In main");
        Demo d = new Demo();
        try {
            d.m1();
        } catch (Exception e) {
            System.out.println("Exception caught in main");
            e.printStackTrace();
        }
    }

}

class Demo {
    void m1() {
        System.out.println("In m1");
        try {
            m2();
        } catch (Exception e) {
            System.out.println("Exception caught in m1");
            throw e;
        }
    }

    void m2() {
        System.out.println("In m2");
        try {
            int a = 5, b = 0, c = a / b;
            System.out.println(c);
        } catch (Exception e) {
            System.out.println("Exception caught in m2");
            throw e;
        }
    }
}

OUTPUT:

In main
In m1
In m2
Exception caught in m2
Exception caught in m1
Exception caught in main
java.lang.ArithmeticException: / by zero
    at stackTracePackage.Demo.m2(StackTraceClass.java:31)
    at stackTracePackage.Demo.m1(StackTraceClass.java:21)
    at stackTracePackage.StackTraceClass.main(StackTraceClass.java:8)

Popular Posts