0

重複の可能性:
Java 7 multicatch ブロックで、キャッチされた例外のタイプは何ですか?

Java SE 7 では、複数のタイプの例外をキャッチできます。

catch (IOException|SQLException ex) {
   logger.log(ex);
   throw ex;
}

そのような構文の他の使用法はありますか?

この構文で共用体を作成できますか?

public void main() {
    Integer|Boolean a;
    a=true;
    a=Integer.Zero;
}

または、これを使用して、匿名で複数のインターフェイスを派生させることができます。

public void main() {

    Object o = new List<Integer>|Comparable<List<Integer>>() {
        // here implementing both interfaces...
    }

}
4

1 に答える 1

0

この型は IOException および SQLException、Exception の最小上限ですが、例外を再スローする場合は、チェック済み例外リストが Exception ではなく IOException および SQLException であることを確認する特別な規則があります。

詳細については、Java 言語仕様のセクション 14.20 を参照してください - http://docs.oracle.com/javase/specs/jls/se7/html/jls-14.html#jls-14.20

三項演算子の型を選択することを除いて、Java の他の場所に類似したものは実際にはありません。

于 2012-10-13T01:11:59.313 に答える