gpt4 book ai didi

java - 为什么最终使用

转载 作者:IT老高 更新时间:2023-10-28 20:48:50 25 4
gpt4 key购买 nike

我从来没有正确理解 finally 语句的用法。谁能告诉我两者之间有什么区别:

try {
a;
block;
off;
statements;
} catch (Exception e) {
handle;
exception;
e;
} finally {
do;
some;
cleanup;
}

一方面并且:

try {
a;
block;
off;
statements;
} catch (Exception e) {
handle;
exception;
e;
}
do;
some;
cleanup;

另一方面

最佳答案

如果

  • try block 通过抛出一个不是 java.lang.Exceptionjava.lang.Throwable 来完成,例如因为它是一个 java.lang.Error,例如 AssertionErrorOutOfMemoryError
  • try-block 使用控制流语句突然完成,例如 continuebreakreturn
  • catch block 突然完成(通过抛出任何可抛出对象,或使用控制流语句)

更一般地说,java 语言保证在 try 语句完成之前执行 finally block 。 (请注意,如果 try 语句未完成,则无法保证 finally。语句可能由于各种原因而无法完成,包括硬件关闭、操作系统关闭、VM 关闭(例如由于 System. exit), 线程等待 (Thread.suspend(), synchronized, Object.wait(), Thread .sleep()) 或其他忙(无休止的循环,,,,)。

所以,finally block 是一个比方法体结尾更好的清理 Action 的地方,但它本身仍然不能保证清理的执行。

关于java - 为什么最终使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3354823/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com