1.在Java的异常体系中,java.lang.Throwable是所有异常的超类,继承于Object,直接子类为Error和Exception;
2.Error和RuntimeException(Exception的子类)为unchecked,即:无需用户捕获;除RuntimeException以外的其他Exception都为checked,即:用户必须捕获(必须使用try...catch),否则编译无法通过。
3.因为Throwable处于Java异常体系的最顶层,所以Java抛出的任何Error和Exception都会被其捕获,包括StackOverflowError。但一般不用Throwable捕获异常,是它有Exception和Error两个子类,而Error不需要程序处理。