哥们,我刚从这题的一个坑里爬起来,你又掉进去了另一个坑,呵呵
ok,说正题
class Test1
{
public static void foo(int i)
{
String output="";
try
{
if(i==1) //foo(1),这个条件满足,执行try
throw new Exception();
output+="1";
}
catch(Exception e)//try完后catch
{
output+="2"; 这句执行了,
return; //这句呢?你忘了吗?这句也会执行,这个退出程序用的.
}
finally
{
output+="3";//但是,这是finally,所以这句是会执行的,只要没遇到System.exit();
}
output+="4";//程序都退出了,这两句怎么执行?
System.out.println(output);
}
public static void main(String args[])
{
foo(1);
}
}
所以结果是23,而非234. |