代码如下:
public class Test{
public static String output=" ";
public static void foo(int i){
try{
if(i==1){
throw new Exception();
}
output+="1";
}catch(Exception e){
output+="2";
return;//有return的话catch异常后最后的那个语句output+="4";不会执行
}finally{//finally块不管是否catch异常都会执行
output+="3";
}
output+="4";
}
public static void main(String[] args){
foo(0);
foo(1);
System.out.println(Test.output);
}
}
如果是在try里面打开资源,那么最好实在finally里释放资源,不要将释放资源语句写在try里,如果异常,则无法释放。注意注意!特别是自己写jdbc连接时,一定要在finally里释放。