在实际开发过程中,经常会在程序
编译时产生一些异常,而这些异常
必须要进行处理,这种异常被称为编译时异常,也称为checked异常。另外还有一种异常是在程序
运行时异常产生的,这种异常及时不编写异常处理代码,依然
可以通过编译,因此称为运行时异常,也称为unchecked异常。
1.编译时异常
在java中,Exception类中除了RuntimeException类及其子类都是编译时异常。编译时异常的特点是java编译器会对其进行检查,如果出现异常就
必须对异常进行处理,否则程序
无法通过编译
处理编译时异常的两中方式:
- 使用try..catch语句对异常进行捕获
- 使用throws关键字声明抛出异常,调用者对其处理
2.运行时异常
RuntimeException类及其子类都是运行时异常。运行时异常的特点是java编译器不会对其进行检查,也就是说,当程序中出现这种异常时,即使没有使用try...catch语句捕获或使用throws关键字声明抛出,程序也能
编译通过。运行时异常一般是
由程序的逻辑错误引起的,在程序运行时无法恢复。