Throwable 位于异常层次结构的顶部,它的两个直接子类是:
Exception
Error
根据最著名的编程书籍(Herbert Schildt,The complete reference),异常可以被捕获和处理,但 ERROR 类型的 `Exception 不能被捕获和处理,因为它们是由于一些我们无法摆脱的问题造成的!
但是这段代码正常工作。不知道如何或为什么。
在评论之前,请执行代码片段,奇怪的是它可以工作并且两个 println 语句都被执行
class ExceptionTest {
public static void main(String...args) {
try {
throw new StackOverflowError();
} catch(Error e) {
System.out.println("caught and processed " + e);
}
System.out.println("finished");
}
}