Throwable.AddSuppressed(Throwable) メソッド

定義

この例外を配信するために抑制された例外に、指定した例外を追加します。

[Android.Runtime.Register("addSuppressed", "(Ljava/lang/Throwable;)V", "")]
public void AddSuppressed (Java.Lang.Throwable exception);
[<Android.Runtime.Register("addSuppressed", "(Ljava/lang/Throwable;)V", "")>]
member this.AddSuppressed : Java.Lang.Throwable -> unit

パラメーター

exception
Throwable

抑制された例外の一覧に追加される例外

属性

例外

の場合 throwable == thisは 。

の場合 throwable == nullは 。

注釈

この例外を配信するために抑制された例外に、指定した例外を追加します。 このメソッドはスレッド セーフであり、通常は -with-resources ステートメントによって try(自動的および暗黙的に) 呼び出されます。

抑制動作は、コンストラクターを介して #Throwable(String、Throwable、boolean、boolean) を無効にしない限り<>、em>が有効<になります。 抑制が無効になっている場合、このメソッドは引数を検証する以外に何も行いません。

1 つの例外 #initCause (Throwable) によって別の例外が発生した場合、通常は最初の例外がキャッチされ、2 番目の例外が応答でスローされることに注意してください。 言い換えると、2 つの例外の間に因果関係があります。

これに対し、兄弟コード ブロック 、特に -with-resources ステートメントのtryブロックと、リソースを閉じるコンパイラによって生成されたfinallyブロックでtry、2 つの独立した例外がスローされる場合があります。

このような状況では、スローされた例外のうち 1 つだけを反映できます。 trywith-resources ステートメントでは、このような例外が 2 つある場合、ブロックからtry発生した例外が反映され、ブロックからのfinally例外が、ブロックからの例外によって抑制される例外の一覧にtry追加されます。 例外によってスタックがアンワインドされると、抑制された複数の例外が蓄積される可能性があります。

例外によって例外が抑制される一方で、別の例外が原因である可能性もあります。 例外に原因があるかどうかは、例外がスローされた後にのみ決定される他の例外を例外が抑制するかどうかとは異なり、作成時に意味的にわかっています。

プログラマが記述したコードは、複数の兄弟例外があり、1 つのみ伝達できる状況で、このメソッドを呼び出すことも利用できることに注意してください。

1.7 で追加されました。

の Java ドキュメント java.lang.Throwable.addSuppressed(java.lang.Throwable)

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象