【发布时间】:2014-06-29 23:41:42
【问题描述】:
我有以下代码:
public class Main {
public static void main(String[] args) throws SQLException {
try (
Connection conn = DBUtil.getConnection(DBType.HSQLDB);
Statement stmt = conn.createStatement(
ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
ResultSet rs = stmt.executeQuery("SELECT * FROM tours");
) {
DBUtil.getConnection();
} catch (SQLException e) {
DBUtil.processException(e);
}
}
}
我使用此代码从数据库中获取数据。我的问题是我不允许使用 Java 1.7 编译器,必须使用 1.6。 如何翻译 try-with-resources-code 以与 1.6 编译器一起使用? 在这个特殊的 try 块中究竟发生了什么?
【问题讨论】:
-
将括号之间的所有行放在
try代码的开头,并将所有结束代码放在finally后面的所有catchs中。 -
(i) 将语句放在 try 代码中 (ii) 在 finally 块中关闭需要关闭的内容。
-
就这么简单吗?好的,我认为 try-with-ressources 更复杂,因为我看到了一些奇怪的帖子
-
为什么不能使用 Java 7 编译器?您可以将目标兼容性设置为 Java 6...
-
这是一个大学项目,我们应该使用 1.6 编译器
标签: java try-catch try-with-resources