首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

finally 核心用途:非記憶體資源釋放保證

     編輯:Java 相關知識

為何需要 finally

Java 有 GC 管理記憶體,但文件句柄、網絡連線、資料庫連線、螢幕繪圖資源等需顯式釋放,finally 確保無論是否拋出異常都執行清理。

經典模式

Switch sw = new Switch();
try {
    sw.on();
    // 可能拋出異常的業務代碼
} catch (NullPointerException e) { ... }
catch (IllegalArgumentException e) { ... }
finally {
    sw.off(); // 必執行
}

特性

  • 異常未被當前 catch 捕獲時,finally 仍在異常向上傳播前執行。
  • break/continue/return 同樣觸發 finally。
  • 嵌套 try-finally 由內而外依序執行。

替代 goto

finally 配合標籤 break/continue 消除了 Java 對 goto 的需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved