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

備註

將指定的例外狀況附加至隱藏的例外狀況,以傳遞此例外狀況。 此方法是安全線程,通常由 try-with-resources 語句呼叫(自動和隱含)。

除非<透過建構函式停用字串>、Throwable、布爾值、布爾值、布爾值,#Throwable 否則會啟用 <em>。 停用歸並時,這個方法不會驗證其自變數以外的任何動作。

請注意,當一個例外狀況 #initCause(Throwable) 造成另一個例外狀況時,通常會攔截第一個例外狀況,然後第二個例外狀況會在回應中擲回。 換句話說,這兩個例外狀況之間有因果關係。

相反地,在某些情況下,在同層級程式代碼區塊中可以擲回兩個獨立例外狀況,特別是在 try -with-resources 語句的 try區塊和關閉資源的編譯程式產生的 finally 區塊中。

在這些情況下,只能傳播其中一個擲回的例外狀況。 在 try-with-resources 語句中,當有兩個這類例外狀況時,來自 try 區塊的例外狀況會傳播,而來自 區塊的例外 finally 狀況會新增至區塊中例外狀況所隱藏的例外 try 狀況清單。 當例外狀況回溯堆疊時,它可以累積多個隱藏的例外狀況。

例外狀況可能會隱藏例外狀況,同時也由另一個例外狀況所造成。 例外狀況在建立時是否具有語意已知原因,與例外狀況是否會隱藏其他例外狀況不同,通常只有在擲回例外狀況之後才會決定。

請注意,程式設計人員撰寫的程式代碼也可以在有多個同層級例外狀況且只能傳播一個的情況下,利用呼叫此方法。

已在1.7中新增。

java.lang.Throwable.addSuppressed(java.lang.Throwable)Java 檔。

此頁面的部分是根據 Android 開放原始碼專案所建立和共用的工作進行修改,並根據 Creative Commons 2.5 屬性授權中所述的詞彙使用。

適用於