异常处理机制
- 抛出异常
- 捕获异常
异常处理的五个关键字:
- try,catch,finally,throw,throws
其中:
throws 关键字和 throw 关键字在使用上的几点区别如下:
- throws 用来声明一个方法可能抛出的所有异常信息,表示出现异常的一种可能性,但并不一定会发生这些异常;throw 则是指拋出的一个具体的异常类型,执行 throw 则一定抛出了某种异常对象。
- 通常在一个方法(类)的声明处通过 throws 声明方法(类)可能拋出的异常信息,而在方法(类)内部通过 throw 声明一个具体的异常信息。
- throws 通常不用显示地捕获异常,可由系统自动将所有捕获的异常信息抛给上级方法; throw 则需要用户自己捕获相关的异常,而后再对其进行相关包装,最后将包装后的异常信息抛出。
try {
int a = 0;
int b = 1/a;
// catch的异常捕获可以有多个,但是需要逐层递进,因为上面的若是被捕获到了,就不会执行下面的catch了,而不论如何都会执行finally的部分。
}catch (NullPointerException eee) {
System.out.println("出现了空指针异常");
}catch (Exception e) {
System.out.println("出现了异常");
}catch (Throwable ex){
System.out.println("出现了异常Throwable");
}
finally {
System.out.println("进行善后处理");
}
异常的类型: