在没有尝试和捕获的情况下最终阻止是否有效?

2022-09-01 15:37:20

我试图在不使用try/catch块的情况下使用final块,但在Eclipse中出现错误。

我可以在不使用 try/catch 块的情况下使用 finally 块吗?


答案 1

finally至少应该有一个块,是可选的。最后块的要点是确保无论是否引发异常,都会清理内容。根据JLStrycatch

finally 子句确保 finally 块在 try 块和任何可能执行的 catch 块之后执行,无论控件如何离开 try 块或 catch 块。

因此,a 前面应始终有一个块。finallytry


答案 2

您必须有一个带有块的块。该块定义了代码行后跟代码。如果在块之前引发异常,则代码将不会执行。tryfinallytryfinallytryfinally

添加块是可选的:catch

try {

  // something

} finally {
  // guaranteed to run if execution enters the try block
}

推荐