package Exception;public class Finally { public static void main(String[] args) { // TODO Auto-generated method stub Finally tct=new Finally(); int result=tct.test(); System.out.println("test()方法,執(zhí)行完畢!返回值為:"+result); int result2=tct.test2(); System.out.println("我想大聲告訴你!test2()2執(zhí)行完畢??!~"); } public int test() { int divider=10; int result=100; try { while(divider>-1) { divider--; result=result+100/divider; } return result; }catch(Exception e) { e.printStackTrace(); System.out.println("circulation throw exception!!!"); return -1; } } public int test2() { int divider=10; int result=100; try { while(divider>-1) { divider--; result=result+100/divider; } return result; }catch(Exception e) { e.printStackTrace(); System.out.println("circulation throw exception!!!"); return result=999; }finally { System.out.println("這是finally??!哈哈!!"); System.out.println("這是Result!!我的值是:"+result); } } }
2 回答

木偶匹諾曹
TA貢獻(xiàn)3條經(jīng)驗 獲得超1個贊
請問哪個是老師的運(yùn)行結(jié)果呢?我的運(yùn)行結(jié)果是這樣的
它是運(yùn)行到divider=0之后會報第一個錯誤,然后跳出循環(huán),輸出第一個提示之后循環(huán)結(jié)束,再執(zhí)行int int result2=tct.test2();,循環(huán)執(zhí)行后再報第二個錯,最后執(zhí)行finally。finally里面的東西永遠(yuǎn)是最后執(zhí)行的。因為你的finally后面沒有再執(zhí)行的了,所以直接從tct.test2()跳出后就直接執(zhí)行后面的輸出語句,然后結(jié)束了。所以那個報錯應(yīng)該不會在程序執(zhí)行完之后還會報錯的。
以上是我分析的。但是我在不斷重復(fù)執(zhí)行這個程序的時候它報錯的位置也會有變化,所以我不清楚這個是否還有其他原因。
添加回答
舉報
0/150
提交
取消