3

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

Javaの新しいマルチキャッチ構造の例外変数に対して想定しなければならない例外タイプは次のとおりです。

try{
   //-- do error prone stuff
}
catch (ExceptionTypeA | ExceptionTypeB e) {
   //-- e.methodA() or e.methodB() ?
}

ExceptionTypeAExceptionTypeBがカスタムユーティリティメソッドのカスタム例外である場合、コードを記述するときのタイプは何eですか?、どのメソッドを呼び出すことができますeか?

4

1 に答える 1

4

eのタイプは、ExceptionAとExceptionBの両方の最も近い親タイプになります。例外を拡張しているだけの場合、タイプは例外になります。

のようなさまざまな例外ケースに対してさまざまなメソッドを呼び出している場合は、マルチキャッチを使用しないでくださいmethodA if ExceptionAmethodB for ExceptionBExceptionAとExceptionBの両方が共通のスーパータイプを拡張し、そのメソッドの1つをオーバーライドする場合は、それを使用できます。

于 2012-12-15T08:07:07.287 に答える