Javaのtry-with-resources文

Java7からtry-with-resources文と言うのが追加されました。

今までのtry-catch文は以下のように記述していました。

try {
  PreparedStatement ps = conn.preparedStatement(sql);
  ~
  ResultSet rs = ps.executeQuery();
} catch (SQLException e) {

} finally {
  ps.close();
  rs.close();
}

finally句で必ずクローズしていたと思いますが、try-with-resources文でクローズするのを忘れるのを防止します。

上記のソースをtry-with-resources文で書くと以下のようになります。

try (PreparedStatement ps = conn.preparedStatement(sql)) {
  ~
  try (ResultSet rs = ps.executeQuery()) {

  }
} catch (SQLException e) {

}

finally句は省略しても自動的にクローズしてくれるので非常に便利です。

ちなみにtry-with-resources文でPreparedStatementを囲っていると、ResultSetはtry-with-resources文で囲まなくても自動でクローズされます。

スポンサーリンク
  • このエントリーをはてなブックマークに追加
スポンサーリンク

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA