关于先执行try语句里的return还是先执行finally
public class Test7 {
@SuppressWarnings("finally")
public static int value(){
int i = 0;
int j = 0;
try{
i = 5;
return i/j;
}catch(Exception e){
i = 7;
System.out.println("执行了return语句");
return i;
}
finally{
j = 1;
System.out.println("执行了finally语句");
}
}
public static void main(String args[]){
System.out.println("最终的值为: " + value());
//结论:从输出上看,先输出了“执行return语句”,因此先执行了return,产生了异常,进入了catch,后执行了finally。
}
}
因为先执行了catch语句,证明先执行try里的return,产生了异常,又输出了finally里的语句,证明无论什么情况都会执行finally语句,可用来写入关闭文件等操作。 |
|