Throwable Classe

Definizione

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

[Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)]
public class Throwable : Exception, IDisposable, Java.Interop.IJavaPeerable, Java.IO.ISerializable
[<Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)>]
type Throwable = class
    inherit Exception
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ISerializable
Ereditarietà
Throwable
Derivato
Attributi
Implementazioni

Commenti

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java. Solo gli oggetti che sono istanze di questa classe (o una delle relative sottoclassi) vengono generati dalla macchina virtuale Java o possono essere generati dall'istruzione Java throw . Analogamente, solo questa classe o una delle relative sottoclassi può essere il tipo di argomento in una catch clausola.

Ai fini del controllo in fase di compilazione delle eccezioni e di qualsiasi sottoclasse di Throwable tale classe non è anche una sottoclasse di RuntimeException o Error sono considerate eccezioni Throwable controllate.

Le istanze di due sottoclassi java.lang.Error e java.lang.Exception, vengono usate in modo convenzionale per indicare che si sono verificate situazioni eccezionali. In genere, queste istanze vengono create in modo nuovo nel contesto della situazione eccezionale in modo da includere informazioni pertinenti (ad esempio i dati di traccia dello stack).

Un oggetto generabile contiene uno snapshot dello stack di esecuzione del relativo thread al momento della creazione. Può anche contenere una stringa di messaggio che fornisce altre informazioni sull'errore. Nel corso del tempo, un oggetto generabile può generare#addSuppressed elimina altri generabili da propagare. Infine, la generabile può contenere anche una causa: un altro generabile che ha causato la costruzione di questo generabile. La registrazione di queste informazioni causali viene definita struttura di eccezione concatenata , come la causa può, a sua volta, avere una causa e così via, portando a una "catena" di eccezioni, ognuna causata da un'altra.

Un motivo per cui un generabile può avere una causa è che la classe che genera è creata su un'astrazione a livelli inferiore e un'operazione sul livello superiore non riesce a causa di un errore nel livello inferiore. Sarebbe una progettazione non valida per consentire la generazione generata dal livello inferiore propagando verso l'esterno, perché in genere non è correlata all'astrazione fornita dal livello superiore. In questo modo, in questo modo, l'API del livello superiore verrebbe allineata ai dettagli dell'implementazione, presupponendo che l'eccezione del livello inferiore fosse un'eccezione controllata. La generazione di un'eccezione "wrapped exception" (ad esempio, un'eccezione contenente una causa) consente al livello superiore di comunicare i dettagli dell'errore al chiamante senza incorrere in una di queste carenze. Mantiene la flessibilità per modificare l'implementazione del livello superiore senza modificare l'API (in particolare, il set di eccezioni generate dai relativi metodi).

Un secondo motivo per cui un generabile può avere una causa è che il metodo che genera deve essere conforme a un'interfaccia per utilizzo generico che non consente al metodo di generare direttamente la causa. Si supponga, ad esempio, che una raccolta persistente sia conforme all'interfaccia e che la java.util.Collection Collection relativa persistenza venga implementata su java.io. Si supponga che gli interni del add metodo possano generare un java.io.IOException IOExceptionoggetto . L'implementazione può comunicare i dettagli del IOException chiamante durante la conformità all'interfaccia Collection eseguendo il wrapping di in un'eccezione IOException non selezionata appropriata. La specifica per la raccolta persistente deve indicare che è in grado di generare tali eccezioni.

Una causa può essere associata a un generabile in due modi: tramite un costruttore che accetta la causa come argomento o tramite il #initCause(Throwable) metodo . Le nuove classi generabili che desiderano consentire l'associazione di cause devono fornire costruttori che accettano una causa e un delegato (forse indirettamente) a uno dei Throwable costruttori che accettano una causa.

Poiché il initCause metodo è pubblico, consente l'associazione di una causa a qualsiasi generazione generata, anche una "generazione legacy" la cui implementazione precede l'aggiunta del meccanismo di concatenamento delle eccezioni a Throwable.

Per convenzione, la classe Throwable e le relative sottoclassi hanno due costruttori, uno che non accetta argomenti e uno che accetta un argomento che può essere usato per produrre un String messaggio di dettaglio. Inoltre, queste sottoclassi che potrebbero avere probabilmente una causa associata a loro dovrebbero avere due più costruttori, una che accetta una Throwable (la causa) e una che accetta un String (il messaggio di dettaglio) e una Throwable (la causa).

Aggiunta nella versione 1.0.

Documentazione Java per java.lang.Throwable.

Le parti di questa pagina sono modifiche in base al lavoro creato e condiviso dal Android Open Source e usato in base ai termini descritti nella .

Costruttori

Throwable()

Costruisce un nuovo generabile con null come messaggio di dettaglio.

Throwable(IntPtr, JniHandleOwnership)

Costruttore usato durante la creazione di rappresentazioni gestite di oggetti JNI; chiamato dal runtime.

Throwable(String)

Costruisce un nuovo generabile con il messaggio di dettaglio specificato.

Throwable(String, Throwable)

Costruisce un nuovo generabile con il messaggio di dettaglio e la causa specificati.

Throwable(String, Throwable, Boolean, Boolean)

Costruisce una nuova generazione con il messaggio di dettaglio specificato, causa, #addSuppressed eliminazione abilitata o disabilitata e traccia dello stack scrivibile abilitata o disabilitata.

Throwable(Throwable)

Costruisce un nuovo generabile con la causa specificata e un messaggio di dettaglio di (cause==null ? null : cause.toString()) (che in genere contiene la classe e il messaggio di dettaglio di cause).

Campi

is_generated

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Proprietà

Cause

Restituisce la causa di questo generabile o null se la causa è inesistente o sconosciuta.

Class

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Handle

Handle all'istanza di Android sottostante.

JniIdentityHashCode

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

JniPeerMembers

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

LocalizedMessage

Crea una descrizione localizzata di questo oggetto generata.

Message

Restituisce la stringa di messaggio di dettaglio di questo oggetto generata.

PeerReference

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

StackTrace

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

ThresholdClass

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

ThresholdType

Questa API supporta l'infrastruttura Mono per Android e non deve essere usata direttamente dal codice.

Metodi

AddSuppressed(Throwable)

Aggiunge l'eccezione specificata alle eccezioni eliminate per recapitare questa eccezione.

Dispose()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Dispose(Boolean)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

FillInStackTrace()

Compila la traccia dello stack di esecuzione.

Finalize()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

FromException(Exception)

Converte Exception in Throwable.

GetStackTrace()

Fornisce l'accesso a livello di codice alle informazioni di traccia dello stack stampate da #printStackTrace().

GetSuppressed()

Restituisce una matrice contenente tutte le eccezioni eliminate, in genere dall'istruzione try-with-resources, per recapitare questa eccezione.

InitCause(Throwable)

Inizializza la causa di questo generabile al valore specificato.

PrintStackTrace()

Stampa questo risultato generata e il relativo backtrace al flusso di errori standard.

PrintStackTrace(PrintStream)

Stampa questo elemento generata e il relativo backtrace nel flusso di stampa specificato.

PrintStackTrace(PrintWriter)

Stampa questo elemento generata e il relativo backtrace al writer di stampa specificato.

SetHandle(IntPtr, JniHandleOwnership)

Imposta la proprietà Handle.

SetStackTrace(StackTraceElement[])

Imposta gli elementi di traccia dello stack che verranno restituiti da e stampati da #getStackTrace()#printStackTrace() e metodi correlati.

ToException(Throwable)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

ToString()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

UnregisterFromRuntime()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Implementazioni dell'interfaccia esplicita

IJavaPeerable.Disposed()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.DisposeUnlessReferenced()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.Finalized()

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.JniManagedPeerState

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.SetJniIdentityHashCode(Int32)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

IJavaPeerable.SetPeerReference(JniObjectReference)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Metodi di estensione

JavaCast<TResult>(IJavaObject)

Esegue una conversione dei tipi controllati dal runtime Android.

JavaCast<TResult>(IJavaObject)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

GetJniTypeName(IJavaPeerable)

La Throwable classe è la superclasse di tutti gli errori e le eccezioni nel linguaggio Java.

Si applica a