finally語句塊表示最終都會執(zhí)行的代碼硝烂,無論有沒有異常
什么時候的代碼必須最終之行:
當我們在try語句塊中打開了一些物理資源(磁盤文件/網(wǎng)絡(luò)鏈接/數(shù)據(jù)庫鏈接等),我們都得在使用完之后鸠踪,最終關(guān)閉打開的資源。
finally的兩種語法:
1.try..finally:此時沒有catch來捕獲異常,因為此時根據(jù)應(yīng)用場景镇眷,我們會拋出異常季惯,自己不處理
2:try..catch..finally:自身需要處理異常吠各,最終還得關(guān)閉資源.
注意:finally不能單獨使用
當只有在try或者catch中調(diào)用退出JVM的相關(guān)方法臀突,此時finally才不會執(zhí)行,否則finally會永遠執(zhí)行
System.exit(0);//退出JVM
演示實驗finally和不使用finally的區(qū)別贾漏,必須使用finally才能保證最終必須執(zhí)行的代碼
如果finally由return語句候学,永遠返回finally中的結(jié)果,避免該情況