class MyException extends Exception {
MyException() {
super("My Exception");
}
}
class YourException extends Exception {
YourException() {
super("Your Exception");
}
}
class ChainDemo {
public static void main(String[] args) {
try {
someMethod1();
} catch (MyException e) {
e.printStackTrace();
}
}
static void someMethod1() throws MyException {
try {
someMethod2();
} catch (YourException e) {
System.out.println(e.getMessage());
MyException e2 = new MyException();
e2.initCause(e);
throw e2;
}
}
static void someMethod2() throws YourException {
throw new YourException();
}
}