Skip to main content

Javaで複数のエラーを1つのcatchで補足する


Java7から構文が追加され綺麗に書けるようになったので紹介
今までtry-catch-catchを書いてたけど、これは古かった

try {
} catch (NullPointerException | IllegalArgumentException e) {
    e.printStackTrace();
}

try {
} catch (IllegalAccessException | NoSuchFieldException e) {
    e.printStackTrace();
}

注意点としては、ある例外とその親クラスは一緒にcatchできない
例えば以下はコンパイルエラーになる

try {
} catch (NullPointerException | IllegalAccessException e) {
    e.printStackTrace();
}

https://teratail.com/questions/2132
https://docs.oracle.com/javase/jp/7/technotes/guides/language/catch-multiple.html

関連記事:

Pocket