1 回答

TA貢獻1735條經(jīng)驗 獲得超5個贊
try{}catch(){}finally{}該結構是用來捕捉異常信息的,異常來源于try塊中,在catch中進行處理finally可以對資源進行釋放或其他操作1.假如在try中沒有異常產(chǎn)生,并returnfinally仍然會執(zhí)行,將return的結果保存,執(zhí)行完finally在return2,在1的基礎上,如果finally中最后也return那個,try中的return會失效,執(zhí)行finally中return3.如果try或者catch(有異常的情況下)中不是return而是寫的是System.exit(0);那么finally此時不執(zhí)行,直接關閉虛擬機。4.在2的基礎上,如果finally中嵌套tryfinally結構的話,執(zhí)行完finally里面的try在執(zhí)行finally中的finally5.在4的基礎上如下代碼會產(chǎn)生錯誤try{}catch(){}finally{try{}catch(){}finally{return1;}return0;}因為finally要求代碼必須被執(zhí)行,虛擬機此時不知道return1必須被執(zhí)行,還是return0必須被執(zhí)行,因為他么都在finally中,希望對你有所幫助
添加回答
舉報