Java 18+ 是否弃用了 try-finally?
Is try-finally being deprecated with Java 18+?
JEP 421,将在即将发布的 Java 18 中发布,不赞成最终确定。我理解这意味着 finalize()
方法已被弃用。但是,它还提到 try/finally
块并提到 try-with-resources 作为替代方案,所以我很困惑 - 它是说 try/finally 将被弃用吗?我们是否应该开始更改遗留代码以将 try/finally 替换为 try-with-resources?
我以为这个 JEP 只是关于 finalize()
方法的,但是互联网上的一些页面(例如 https://metebalci.com/blog/what-is-new-in-java-18/)说 try/finally 正在被弃用,听起来有点吓人。
如果可以,您当然应该更喜欢 try-with-resources,因为它更简洁并且避免了忘记关闭可自动关闭资源的可能性,但是不,finally
不会消失。
JEP 在错误使用的上下文中提到了 finally
。除了使用 try-with-resources 构造之外,您还可以嵌套两个 try/finally 块来修复错误,正如 JEP 指出的那样:“此处的修复涉及嵌套的 try-finally 构造,留作练习对于 reader."
JEP 421,将在即将发布的 Java 18 中发布,不赞成最终确定。我理解这意味着 finalize()
方法已被弃用。但是,它还提到 try/finally
块并提到 try-with-resources 作为替代方案,所以我很困惑 - 它是说 try/finally 将被弃用吗?我们是否应该开始更改遗留代码以将 try/finally 替换为 try-with-resources?
我以为这个 JEP 只是关于 finalize()
方法的,但是互联网上的一些页面(例如 https://metebalci.com/blog/what-is-new-in-java-18/)说 try/finally 正在被弃用,听起来有点吓人。
如果可以,您当然应该更喜欢 try-with-resources,因为它更简洁并且避免了忘记关闭可自动关闭资源的可能性,但是不,finally
不会消失。
JEP 在错误使用的上下文中提到了 finally
。除了使用 try-with-resources 构造之外,您还可以嵌套两个 try/finally 块来修复错误,正如 JEP 指出的那样:“此处的修复涉及嵌套的 try-finally 构造,留作练习对于 reader."