Java异常处理
# Java异常处理
# 异常处理机制
共五个关键字 try、catch、finally、throw、throws
# try-catch-finally
int a = 1;
int b = 0;
try{
System.out.println(a/b);
}catch(Exception e){
//捕捉到异常后会执行的操作
}finally{
//无论是否异常,finally都会执行
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
当try保护的代码块出现异常时,例如上述例子的b作为除数不能为0,异常和catch中声明的异常类型进行匹配,匹配成功则运行对应的catch代码块
不论是否出现异常,都继续执行try-catch后的后续代码
- 可以有多个catch,异常类型从上往下判断,只执行一个
- catch捕获的异常类型范围小的放上面
- finally可不写
# throws主动抛出异常
Java 如何抛出异常、自定义异常、手动或主动抛出异常 - panchanggui - 博客园 (cnblogs.com) (opens new window)
如果一个方法可能会出现异常,但没有能力处理这种异常,可以在方法后面用 throws 声明可能抛出的异常类型。
调用可能会抛出异常的方法,必须添加try-catch代码块尝试去捕获异常 或者 添加throws 声明 来将异常 抛出给更上一层的调用者进行处理,这里需要注意一个细节:新的异常包含原始异常的所有信息,根据这个我们可以去追溯最初异常发生的位置