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