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