1.Throwable 类下的常用子类如图所示
2.Error类:就是程序运行时候抛出的最严重级别的错误了,如VirtualMachineError,ThreadDeath。抛出了Error的程序从Java设计的角度来讲,程序基本不可以通过后续代码修复,从而理应终止。当然,从语法上来讲,所有这些都可以被写进catch里面,但是Error因为上述原因,不应该被代码处理。
3.checked类和非checked类。
Error的子类是程序运行时抛出的严重错误,无法事先被捕获或发现,故都是非checked类。
RuntimeException(运行时异常类)指的是只有在程序运行时才能识别出的异常,这些异常类无法在编译时被发现,所以是非checked类。
Exception的其他子类都是checked类(受检查类),指的是在java编译时就能识别出的异常,我们应该在代码中手动处理这些异常或抛出,即我们代码中的try...catch块