gpt4 book ai didi

java - finally 和 no finally 和有什么不一样?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:05:25 28 4
gpt4 key购买 nike

有什么区别

try {
// action A
}
catch(Exception e) {
// action B
}
finally {
// action C
}

try {
// action A
}
catch(Exception e) {
// action B
}
// action C

我读到过您可以从 catch block 中返回并且仍然执行 finally block 。还有其他区别吗?

最佳答案

无论 try-catch-block 中发生什么,finally block 中发生的事情都保证会发生。如果发生了未被 Exception 封装的异常(例如,扩展 Throwable,例如各种 Error),那么它仍然 运行 finally block 。

需要注意的一件事:如果在 finally block 中抛出 RuntimeException,或者另一个 Exception 从其中逃逸,那么 finally block 的 rest执行。此外,正如 Torgamus 勋爵所指出的,它取决于运行的 JVM。此外,很可能很明显,它还取决于线程是否停止。

关于java - finally 和 no finally 和有什么不一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5834175/

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