このような例外を OR する必要がありますか?
catch (final CustomExceptionA | CustomExceptionB e) {
Should we catch expections like this ?
}
このような例外を OR する必要がありますか?
catch (final CustomExceptionA | CustomExceptionB e) {
Should we catch expections like this ?
}
それらをまったく同じ方法で処理したい場合、これは良い方法です。また、Java 7 (およびそれ以降) でのみコンパイルされます。
7 より前の Java バージョンでは、複数の例外をキャッチする必要があるが (iE) それらをログに記録するだけでよい場合、多くのコードを複製する必要があるという問題が常にありました。Java 6 の例:
} catch (NullpointerException e) {
log(e);
} catch (ArrayIndexOutOfBoundsException e) {
log(e);
} catch (NumberFormatException e) {
...
Java 7 では | を使用できます。演算子を使用してこれを簡素化し、重要な部分として、エラー処理コードを 1 回記述するだけで済みます。これにより、コピー & ペーストなどの一般的なバグを回避できます。