Throwable.AddSuppressed(Throwable) Methode

Definition

Fügt die angegebene Ausnahme an die Ausnahmen an, die unterdrückt wurden, um diese Ausnahme zu übermitteln.

[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

Parameter

exception
Throwable

Die Ausnahme, die der Liste der unterdrückten Ausnahmen hinzugefügt werden soll

Attribute

Ausnahmen

, wenn throwable == this.

, wenn throwable == null.

Hinweise

Fügt die angegebene Ausnahme an die Ausnahmen an, die unterdrückt wurden, um diese Ausnahme zu übermitteln. Diese Methode ist threadsicher und wird in der Regel (automatisch und implizit) von der try-with-resources-Anweisung aufgerufen.

Das Unterdrückungsverhalten ist em>aktiviert<, es sei denn</em> deaktiviert #Throwable (String, Throwable, Boolean, boolean) über einen Konstruktor. Wenn die Unterdrückung deaktiviert ist, führt diese Methode nichts anderes aus, als ihr Argument zu überprüfen.

Beachten Sie, dass, wenn eine Ausnahme #initCause (Throwable) eine andere Ausnahme verursacht, die erste Ausnahme in der Regel abgefangen wird und dann die zweite Ausnahme als Antwort ausgelöst wird. Mit anderen Worten, es gibt einen kausalen Zusammenhang zwischen den beiden Ausnahmen.

Im Gegensatz dazu gibt es Situationen, in denen zwei unabhängige Ausnahmen in gleichgeordneten Codeblöcken ausgelöst werden können, insbesondere im try Block einer try-with-resources-Anweisung und im vom Compiler generierten finally Block, der die Ressource schließt.

In diesen Situationen kann nur eine der ausgelösten Ausnahmen weitergegeben werden. Wenn in der try-with-resources-Anweisung zwei solche Ausnahmen vorhanden sind, wird die Ausnahme, die try vom Block stammt, weitergegeben, und die Ausnahme aus dem finally Block wird der Liste der Ausnahmen hinzugefügt, die von der Ausnahme aus dem try Block unterdrückt werden. Wenn eine Ausnahme den Stapel entlädt, können mehrere unterdrückte Ausnahmen akkumuliert werden.

Eine Ausnahme hat möglicherweise unterdrückte Ausnahmen, während sie auch durch eine andere Ausnahme verursacht wird. Ob eine Ausnahme eine Ursache hat oder nicht, ist zum Zeitpunkt ihrer Erstellung semantisch bekannt, anders als ob eine Ausnahme andere Ausnahmen unterdrückt oder nicht, was normalerweise erst nach dem Auslösen einer Ausnahme bestimmt wird.

Beachten Sie, dass vom Programmierer geschriebener Code auch in Situationen genutzt werden kann, in denen mehrere gleichgeordnete Ausnahmen vorhanden sind und nur eine weitergegeben werden kann.

In Version 1.7 hinzugefügt.

Java-Dokumentation für java.lang.Throwable.addSuppressed(java.lang.Throwable).

Teile dieser Seite sind Änderungen, die auf Arbeiten basieren, die vom Android Open Source Project erstellt und freigegeben wurden und gemäß den In Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: