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 陳述式自動且隱含地呼叫。
抑制行為是透過建構子啟用或停用 #Throwable(String, Throwable, Boolean, boolean)才能啟用<><。> 當抑制被停用時,此方法僅用於驗證其參數。
請注意,當一個例外 #initCause(Throwable)引發另一個例外時,通常會先捕捉第一個例外,然後再拋出第二個例外作為回應。 換句話說,這兩個例外之間存在因果關係。
相較之下,有些情況是兄弟程式碼區塊中可以拋出兩個獨立例外,特別是在 try -with-resources 敘述的區塊 try和由編譯器產生 finally 關閉該資源的區塊中。
在這些情況下,拋出的例外中只能有一個被傳播。 在 try-with-resources 陳述式中,當有兩個此類例外時,來自該區塊的例外 try 會被傳播,並將該區塊的例外 finally 加入被該區塊的例外 try 所抑制的例外清單中。 當例外會解開堆疊時,它可能會累積多個被抑制的例外。
例外可能包含被抑制的例外,但同時又是由另一個例外所引起。 例外是否有原因在產生時語意上已知,與例外是否會抑制其他例外不同,後者通常只有在拋出例外後才會判定。
請注意,程式設計師撰寫的程式碼也能利用呼叫此方法,當有多個兄弟例外且只能傳播一個例外時。
在 1.7 版本中加入。
Java 文件 java.lang.Throwable.addSuppressed(java.lang.Throwable)。
本頁部分內容為基於 Open Source Project 所創建與分享的作品,並依授權條款所描述的使用進行修改。