本篇继续介绍异常,上一篇介绍了try catch语句,这篇在try catch语句基础上介绍finally语句。前面文章有一篇是介绍final,这个和本篇的finally是有区别的。finaly语句块在异常捕获和处理过程的作用是:不管有没有发生异常,都会调用finally中的代码,这样就确保了即使不是你捕获的异常出现,也会执行finally语句块中的代码。
下面举例看看看finally的简单用法。
package lesson01;
public class MyClass {
public static int retInt(){
int a = 100;
try{
return a;
//return a/0;
} catch(ArithmeticException e){
System.out.println("调用catch 语句块");
System.out.println(e);
return a;
} finally {
System.out.println("调用finally 语句块");
}
}
public static void main(String[] args){
System.out.println(retInt());
}
}
可以运行,发现没有异常出现,也会执行finally中的打印语句,如果你把上面 return a/0前面注释给取消,运行发现捕获了异常,而且也执行了finally中的代码。