0

このような例外を OR する必要がありますか?

catch (final CustomExceptionA | CustomExceptionB e) {

       Should we catch expections like this ? 
    }
4

2 に答える 2

6

それらをまったく同じ方法で処理したい場合、これは良い方法です。また、Java 7 (およびそれ以降) でのみコンパイルされます。

于 2013-10-12T00:14:19.197 に答える
-1

7 より前の Java バージョンでは、複数の例外をキャッチする必要があるが (iE) それらをログに記録するだけでよい場合、多くのコードを複製する必要があるという問題が常にありました。Java 6 の例:

} catch (NullpointerException e) {
  log(e);
} catch (ArrayIndexOutOfBoundsException e) {
  log(e);
} catch (NumberFormatException e) {
...

Java 7 では | を使用できます。演算子を使用してこれを簡素化し、重要な部分として、エラー処理コードを 1 回記述するだけで済みます。これにより、コピー & ペーストなどの一般的なバグを回避できます。

于 2013-10-12T00:35:30.307 に答える