foo(1); output变成了23
i == 1 成立, 抛出异常, 直接catch住, 不走output +="1";
output += "2"; //output变成"2"
return; //建立了返回通道, 检查发现有finally需要执行, 所以还没有跳出
finally { output += "3"; } //output变成"23" finally执行结束, 方法结束. 没有执行到 output += "4";
foo(2);
i != 1; // throw new Exception(); 不执行
output += "1"; // output变成 "231"
catch (Exception e) { output += "2";} //程序没出错 不走catch
finally { output += "3"; } // output变成 "2313"
output += "4"; //output变成 "23134" 方法结束
System.out.println(output); //23134 |