执行顺序无异常是try finally return
有异常并且catch中没有跳出程高此序块的语句时顺序是try catch finally return
有异戚瞎迅常并且catch中有跳出程序块的语句时是try catch(执行到跳出之前)神键 finally catch(执行跳出)
给你个参考程序吧
贴main函数里执行下就看出来顺序了
System.out.println("begin");
List list=new ArrayList<Integer>();
list.add(1);
for(int i=0;i<=2; i++){
try{
System.out.println(list.get(i));
}catch(Exception e)
{
System.out.println(e);
continue;
}finally{
System.out.println("stop");
}
System.out.println("out");
}
先try 若有异常就catch,然后finally
class Test
{
public static void main(String args[])
{
System.out.println(Test.test());
塌乱 }
public static String test()
{
try {
System.out.println("try");
圆族 throw new Exception();
} catch(Exception e) {
System.out.println("catch");
橘衫弊 return "return";
} finally {
System.out.println("finally");
return "return in finally";
}
}
}
The results is:
try
catch
finally
return in finally