【发布时间】:2018-12-08 07:15:30
【问题描述】:
AutoCloseable 有一个方法“void close throws Exception”。 有人建议扩展此接口并覆盖 close 方法并删除异常。例如,请参阅下面的链接。
但是当我忘记将语句放在 try-with-resources 语句中时,close 方法比不被调用吗?
- 在 try-with-resources 中调用 close
- 在流 api 中调用关闭
- 例如在离开创建资源的方法时由 java 自动执行???
其他信息 我在互联网上搜索并查看了文档。两者都建议删除 throws Exception 语句。但是我对这个建议的反应是,将来我们项目中的某个人实现了新接口(无一例外)并且忘记将它们放入我们有资源泄漏的 try-with-resource 中。对于我们的项目来说,这不是一个大问题,因为我们使用的是 SonarQube,它会提到资源泄漏
示例位置:
【问题讨论】:
-
当我忘记将语句放在 try-with-resources 语句中时,是不是调用 close 方法? - 无论您是否覆盖 @987654322,这都是一样的@ 与否 -
-
第三个要点。 Java什么都不做。您必须以某种方式调用
close方法。即使只是将其放入 try-with-resources 或使用流
标签: java try-with-resources method-invocation autocloseable