Throwable.AddSuppressed(Throwable) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Aggiunge l'eccezione specificata alle eccezioni eliminate per recapitare questa eccezione.
[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
Parametri
- exception
- Throwable
eccezione da aggiungere all'elenco di eccezioni eliminate
- Attributi
Eccezioni
se throwable == this
.
se throwable == null
.
Commenti
Aggiunge l'eccezione specificata alle eccezioni eliminate per recapitare questa eccezione. Questo metodo è thread-safe e in genere chiamato (automaticamente e in modo implicito) dall'istruzione try
-with-resources.
Il comportamento di eliminazione è abilitato <em>a meno che</em> non sia disabilitato #Throwable(String, Throwable, boolean, boolean) tramite un costruttore. Quando l'eliminazione è disabilitata, questo metodo non fa altro che convalidare il relativo argomento.
Si noti che quando un'eccezione #initCause(Throwable) causa un'altra eccezione, la prima eccezione viene in genere intercettata e quindi viene generata la seconda eccezione in risposta. In altre parole, esiste una connessione causale tra le due eccezioni.
Esistono invece situazioni in cui due eccezioni indipendenti possono essere generate in blocchi di codice di pari livello, in particolare nel try
blocco di un'istruzione try
-with-resources e nel blocco generato finally
dal compilatore che chiude la risorsa.
In queste situazioni è possibile propagare solo una delle eccezioni generate. Nell'istruzione try
-with-resources, quando sono presenti due eccezioni di questo tipo, l'eccezione originata dal try
blocco viene propagata e l'eccezione dal finally
blocco viene aggiunta all'elenco di eccezioni eliminate dall'eccezione dal try
blocco. Quando un'eccezione rimuove lo stack, può accumulare più eccezioni eliminate.
È possibile che un'eccezione abbia eliminato le eccezioni, anche se causata da un'altra eccezione. Indipendentemente dal fatto che un'eccezione abbia una causa è semanticamente nota al momento della creazione, a differenza del fatto che un'eccezione elimina o meno altre eccezioni che in genere vengono determinate solo dopo la generazione di un'eccezione.
Si noti che il codice scritto dal programmatore è anche in grado di sfruttare la chiamata di questo metodo in situazioni in cui sono presenti più eccezioni di pari livello e solo uno può essere propagato.
Aggiunta nella versione 1.7.
Documentazione java per java.lang.Throwable.addSuppressed(java.lang.Throwable)
.
Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dal progetto Open Source Android e usato in base ai termini descritti nella licenza Creative Commons 2.5 Attribuzione.