作者:明明如月君
链接:https://juejin.cn/post/6844904039402962958
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
英文原文:www.baeldung.com/java-finall…
在本教程中,我们将研究 Java 中的 finally 关键字的用法。 我们将看到如何在错误处理中与 try / catch 块一起使用它。 尽管 finally 的目的是保证代码被执行,但是我们还将讨论 JVM 不执行 finally 代码的特殊情况。
我们还将讨论一些常见的陷阱,在这些陷阱中,finally 块可能会产生意外的结果。
try 关键字最后可以定义 finally 代码块。 finally 块中定义的代码,总是在 try 和任何 catch 块之后、方法完成之前运行。
正常情况下,不管是否抛出或捕获异常 finally 块都会执行。
try {
System.out.println("The count is " + Integer.parseInt(count));
} catch (NumberFormatException e) {
System.out.println("No count");
} finally {
System.out.println("In finally");
}
在这个示例中,不管参数的值是多少,JVM 都执行 finally 块并输出“ In finally”。
try {
System.out.println("Inside try");
} finally {
System.out.println("Inside finally");
}
结果
Inside try Insidefinally