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

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

属性

例外

if throwable == this.

if throwable == null.

注釈

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

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

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

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

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

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

プログラマが記述したコードは、複数の兄弟例外があり、1 つだけを伝達できる状況でも、このメソッドを呼び出すことができます。

1.7 で追加されました。

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

このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。

適用対象