因为i=0,所以不报异常正常执行,try……finally 直至程序末尾134.
因为output是static的,所以在调用foo(1)之前,output是134,
因为i=1,抛出异常,if(i==1) throw new Exception();后面的语句output+="1"; 不执行,跳到catch中
output=1342,运行到return语句,发现还有finally语句,就先不执行return语句。而执行finally语句output=13423,执行完finally就执行return语句。 |
|