根据发生的时机不同分类:
异常的分类根据发生时机的不同,分为编译时异常和运行时异常。
☀️编译时异常(受查异常)
编译时异常:在程序编译期间发生的异常称为编译时异常,也可以称为受查异常。
- 特点:必须进行显示处理,可以通过try—catch进行捕获并处理,或者使用throws声明可能抛出的异常,将异常上移交给调用者。如果不处理,程序编译就无法通过。
示例:
- 不支持克隆异常:
☀️运行时异常(非受查异常)
运行时异常:在程序运行时期间发生的异常,也称为非受检查异常。
- 特点:无需显示处理,也可以和编译时异常处理一样。但JVM不会检查他,即使没有用try—catch,throws声明,编译也会通过。
示例:
- 算术异常:
public static void main(String[] args) {
System.out.println(10/0);
}