Javaでtry-catch文を使う方法

tryはこのように書きます。

try {
  処理
} catch (Exception e) {
  例外処理
}

例外が起きても実行したい処理がある場合、次のように書きます。

try {
  処理
} catch (Exception e) {
  例外処理
} finally {
  例外が起きても実行する処理
}

tryの()の中に記述してあるのを見かける

これは try-with-resources文 と言い、Java SE7で導入されました。

try-with-resources 文 – Java se Documentation ORACLE

大変便利なもので、閉じる必要のあるオブジェクトを()内に記載すると、勝手に閉じてくれる。これまでfileクローズなどはfinallyで記載しなければならなかったが、この冗長で忘れやすい記述を省略することが出来ます。

例えば上記のサイトにもあるように次のように記述できます。

static String readFirstLineFromFile(String path) throws IOException {
  try (BufferedReader br = new BufferedReader(new FileReader(path))) {
    return br.readLine();
  }
}

これはJava SE7以前では次のように記載していました。

static String readFirstLineFromFileWithFinallyBlock(String path) throws IOException {
  BufferedReader br = new BufferedReader(new FileReader(path));
  try {
    return br.readLine();
  } finally {
    if (br != null) br.close();
  }
}

try-with-resources文 を使うことで処理を短く直観的に記載することが出来ます。