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