在java中finally一般出现在try{}结构中,用于存放try结构中一定要执行的语句,如
String s = "1";
try{
s = "2";
System.out.println(s);
if(s=="2")
throw new Exception("h");
}catch(Exception e){
s = "3";
System.out.println(s);
}finally{
s = "4";
System.out.println(s);
}
s = "5";
System.out.println(s);
输出的结果是2,3,4,5 (这里的逗号只用于显示)。上述语句非常清楚,但是在上述结构中加上return,就变得有些复杂了,如
String s = "1";
try{
s = "2";
System.out.println(s);
return;
}catch(Exception e){
s = "3";
System.out.println(s);
}finally{
s = "4";
System.out.println(s);
}
s = "5";
System.out.println(s);
输出的结果是2,4
也就是说在try结构中,虽然使用了return语句强制函数返回,不再往下执行,但实现上finally中的还是执行了。但除了finally外的其它语句不再被执行。
本文地址:http://com.8s8s.com/it/it10264.htm