目录
一、定义的区别
检查时异常(checked exception):
编译器要检查这类异常,检查的目的一方面是因为该类异常的发生难以避免,另一方面就是让开发者去解决掉这类异常,所以称为必须处理(try ...catch)的异常。如果不处理这类异常,集成开发环境中的编译器一般会给出错误提示。
运行时异常(Runtime exception):
编译器不会检查这类异常,不检查的则开发者在代码的编辑编译阶段就不是必须处理,这类异常一般可以避免,因此无需处理(try ...catch)。如果不处理这类异常,集成开发环境中的编译器也不会给出错误提示,但运行时会出现错误。
二、父类的区别
检查时异常(checked exception):是RuntimeException以外的异常,类型上都属于Exception类及其子类。从程序语法角度讲是必须进行处理的异常,如果不处理,程序就不能编译通过。
运行时异常(Runtime exception):直接或间接继承RuntimeException
三、显示处理
检查时异常(checked exception):需要显示处理
运行时异常(Runtime exception):不需要显示处理