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場合。
注釈
この例外を配信するために抑制された例外に、指定した例外を追加します。 このメソッドはスレッド セーフであり、通常、 try with-resources ステートメントによって (自動的および暗黙的に) 呼び出されます。
抑制動作は <em>unless</em> コンストラクターを介して無効 #Throwable(String、Throwable、boolean、boolean) が有効になっています。 抑制が無効になっている場合、このメソッドは引数を検証する以外に何も行いません。
1 つの例外 #initCause(Throwable) によって別の例外が発生した場合、通常は最初の例外がキャッチされ、2 番目の例外が応答でスローされることに注意してください。 言い換えると、2 つの例外の間に因果関係があります。
これに対し、兄弟コード ブロックで 2 つの独立した例外がスローされる場合があります。特に、try with-resources ステートメントのtry ブロックと、リソースを閉じるコンパイラによって生成されたfinally ブロックです。
このような状況では、スローされた例外のうち 1 つだけを伝達できます。
try with-resources ステートメントでは、このような例外が 2 つある場合、try ブロックから発生した例外が反映され、finally ブロックからの例外が、try ブロックからの例外によって抑制された例外の一覧に追加されます。 例外がスタックをアンワインドすると、抑制された例外が複数蓄積される可能性があります。
例外によって例外が抑制される一方で、別の例外が原因である可能性もあります。 例外に原因があるかどうかは、例外がスローされた後にのみ通常決定される他の例外を抑制するかどうかとは異なり、作成時に意味的に認識されます。
プログラマが記述したコードは、複数の兄弟例外があり、1 つだけを伝達できる状況でも、このメソッドを呼び出すことができます。
1.7 で追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。