class Annoyance extends Exception {}
class Sneeze extends Annoyance {}
class Human {
public static void main(String[] args)
throws Exception {
try {
try {
throw new Sneeze();
}
catch ( Annoyance a ) {
System.out.println("Caught Annoyance");
throw a;//抛出一个Annoyance引用
}
}
catch ( Sneeze s ) {
//被抓取到Annoyance引用 相当于 a = new Sneeze();多态(子类对象指向父类引用)
//父类抛出的异常 子类异常是无法处理的
System.out.println("Caught Sneeze");
return ;
}
finally {
System.out.println("Hello World!");
}
}
}
x
1
class Annoyance extends Exception {}2
class Sneeze extends Annoyance {}3
4
class Human {5
6
public static void main(String[] args) 7
throws Exception {8
try {9
try {10
throw new Sneeze();11
} 12
catch ( Annoyance a ) {13
System.out.println("Caught Annoyance");14
throw a;//抛出一个Annoyance引用15
}16
} 17
catch ( Sneeze s ) {18
//被抓取到Annoyance引用 相当于 a = new Sneeze();多态(子类对象指向父类引用)19
//父类抛出的异常 子类异常是无法处理的 20
System.out.println("Caught Sneeze");21
return ;22
}23
finally {24
System.out.println("Hello World!");25
}26
}27
}28

输出:
Caught Annoyance
Caught Sneeze
Hello World!
浙公网安备 33010602011771号