JDK7の新機能の1つである、複数例外の捕捉をためしてみた。
public class Test {
public static void main(String[] args) {
try {
m1();
m2();
// 複数例外を補足する場合は、パイプ(|)で
// 対象の例外クラスをつなげてあげる。
} catch (Hoge1Exception | Hoge2Exception e) {
e.printStackTrace();
}
}
private static void m1() throws Hoge1Exception {
throw new Hoge1Exception();
}
private static void m2() throws Hoge2Exception {
throw new Hoge2Exception();
}
private static class Hoge1Exception extends Exception {
}
private static class Hoge2Exception extends Exception {
}
}
JDK6までだとこんな感じになってしまうんだよね。
try {
// 処理
} catch (Hoge1Exception e) {
e.printStackTrace();
} catch (Hoge2Exception e) {
e.printStackTrace();
}