Throwable.AddSuppressed(Throwable) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この例外を配信するために抑制された例外に、指定した例外を追加します。
[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 つだけを反映できます。 try
with-resources ステートメントでは、このような例外が 2 つある場合、ブロックからtry
発生した例外が反映され、ブロックからのfinally
例外が、ブロックからの例外によって抑制される例外の一覧にtry
追加されます。 例外によってスタックがアンワインドされると、抑制された複数の例外が蓄積される可能性があります。
例外によって例外が抑制される一方で、別の例外が原因である可能性もあります。 例外に原因があるかどうかは、例外がスローされた後にのみ決定される他の例外を例外が抑制するかどうかとは異なり、作成時に意味的にわかっています。
プログラマが記述したコードは、複数の兄弟例外があり、1 つのみ伝達できる状況で、このメソッドを呼び出すことも利用できることに注意してください。
1.7 で追加されました。
の Java ドキュメント java.lang.Throwable.addSuppressed(java.lang.Throwable)
。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。