为什么“使用资源试用”捕获块是选择性可选的?
我读到“尝试资源”中的块是可选的。我尝试过在资源试用块中创建一个对象,没有后续块,只是从eclipse获得编译器错误:“自动调用引发的未处理的异常类型。catch
Connection
catch
SQLException
close()
由于可以在 try-with-resources 中使用的每个资源都实现了 ,因此在调用该方法时可能会引发异常,因此我不明白该子句是如何可选的,因为它不允许我跳过从 中捕获异常。AutoCloseable
close()
catch
close()
是否有一些特殊要求,即不直接声明在其方法中抛出的任何异常?(例如,用不抛出任何异常的覆盖 's)?AutoCloseable
close()
AutoCloseable
close() throws Exception
close()
..或者这可能只是一个日食问题?
编辑:这是仍然触发问题的最简单的代码片段:
try (Connection con = dataSource.getConnection()) {
/*...*/
}
关于这是否与使用JNDI数据源有关的想法?
提前致谢。