Freigeben über


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 von der tryAnweisung "-with resources" (automatisch und implizit) 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 das Argument zu überprüfen.

Beachten Sie, dass, wenn eine Ausnahme #initCause(Throwable) eine andere Ausnahme verursacht, die erste Ausnahme normalerweise abgefangen wird und die zweite Ausnahme als Antwort ausgelöst wird. Mit anderen Worten, es gibt eine kausale Verbindung 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 des vom Compiler generierten finally Blocks, der die Ressource schließt.

In diesen Situationen können nur eine der ausgelösten Ausnahmen weitergegeben werden. Wenn in der tryAnweisung "-with-resources" 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. Als Ausnahme entfällt der Stapel, kann er mehrere unterdrückte Ausnahmen ansammeln.

Eine Ausnahme kann Ausnahmen unterdrückt haben, während sie auch durch eine andere Ausnahme verursacht werden. Ob eine Ausnahme zum Zeitpunkt der Erstellung semantisch bekannt ist oder nicht, im Gegensatz dazu, ob eine Ausnahme andere Ausnahmen unterdrückt, die normalerweise erst nach dem Auslösen einer Ausnahme bestimmt werden.

Beachten Sie, dass der geschriebene Programmierer auch in der Lage ist, diese Methode in Situationen aufzurufen, in denen mehrere gleichgeordnete Ausnahmen vorhanden sind und nur eine weitergegeben werden kann.

In 1.7 hinzugefügt.

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

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: