本帖最后由 来男. 于 2014-5-1 21:56 编辑
class Test
{
public static String output="";
public static void foo(int i)
{
try
{
if(i==1)
throw new Exception();
output+="1";//第一步:因为0不等于1,所以此时output等于0+1,打印1.
}
catch(Exception e)
{
output+="2";//第四步:2
return;
}
finally
{
output+="3";//第二步:3 第五步:3(前有return后就不走下面的"4"了)
}
output+="4";//第三步:4
}
public static void main(String[] args)
{
foo(0);
System.out.println(output);
foo(1);
System.out.println(output);
}
}
结果:13423
请问第五步是基于什么样的原因??我知道这样的现象但原因不是很清楚。
|
|