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
抑制された例外の一覧に追加される例外
- 属性
例外
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 つだけを伝達できます。 try
with-resources ステートメントでは、このような例外が 2 つある場合、ブロックからtry
発生した例外が反映され、ブロックからの例外がブロックからのfinally
例外によって抑制される例外のリストにtry
追加されます。 例外がスタックをアンワインドすると、抑制された例外が複数蓄積される可能性があります。
例外によって例外が抑制される一方で、別の例外が原因である可能性もあります。 例外に原因があるかどうかは、例外がスローされた後にのみ通常決定される他の例外を抑制するかどうかとは異なり、作成時に意味的に認識されます。
プログラマが記述したコードは、複数の兄弟例外があり、1 つだけを伝達できる状況でも、このメソッドを呼び出すことができます。
1.7 で追加されました。
の Java ドキュメントjava.lang.Throwable.addSuppressed(java.lang.Throwable)
このページの一部は、Android オープンソース プロジェクトによって作成および共有され、クリエイティブ コモンズ 2.5 属性ライセンスに記載されている条件に従って使用される作業に基づく変更です。