Java 中方法中 return 語句之後,finally 程式碼塊是否會執行?
是的,即使在方法中存在 return 語句,finally 程式碼塊也會執行。
在 Java 中,無論是否出現異常,finally 程式碼塊都始終會執行。如果我們在 finally 程式碼塊中明確呼叫 System.exit() 方法,則它不會執行。有一些情況 finally 程式碼塊不會執行,例如 JVM 崩潰、斷電、軟體崩潰等。除了這些情況之外,finally 程式碼塊始終會執行。
示例
public class FinallyBlockAfterReturnTest {
public static void main(String[] args) {
System.out.println(count());
}
public static int count() {
try {
return 1;
} catch(Exception e) {
return 2;
} finally {
System.out.println("Finally block will execute even after a return statement in a method");
}
}
}
輸出
Finally block will execute even after a return statement in a method 1
廣告
資料結構
網路
關係型資料庫管理系統
作業系統
Java
IOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP