Langage

Throwable Classe

Définition

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

[Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)]
public class Throwable : Java.Interop.JavaException, IDisposable, Java.IO.ISerializable
[<Android.Runtime.Register("java/lang/Throwable", DoNotGenerateAcw=true)>]
type Throwable = class
    inherit JavaException
    interface IJavaObject
    interface IDisposable
    interface ISerializable
    interface IJavaPeerable
Héritage
Dérivé
Attributs
Implémente

Remarques

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java. Seuls les objets qui sont des instances de cette classe (ou l’une de ses sous-classes) sont levées par la machine virtuelle Java ou peuvent être levées par l’instruction Javathrow. De même, seule cette classe ou l’une de ses sous-classes peut être le type d’argument dans une catch clause.

Pour les besoins de la vérification au moment de la compilation des exceptions, Throwable et toute sous-classe de Throwable celle-ci n’est pas non plus une sous-classe de l’une ou RuntimeException l’autre Error des exceptions vérifiées.

Les instances de deux sous-classes et java.lang.Error, java.lang.Exception sont utilisées de manière conventionnelle pour indiquer que des situations exceptionnelles se sont produites. En règle générale, ces instances sont fraîchement créées dans le contexte de la situation exceptionnelle afin d’inclure des informations pertinentes (telles que des données de trace de pile).

Un élément lève contient un instantané de la pile d’exécution de son thread au moment de sa création. Il peut également contenir une chaîne de message qui fournit plus d’informations sur l’erreur. Au fil du temps, une levée peut lever#addSuppressed supprimer d’autres pouvant être propagées. Enfin, l’élément pouvant être levée peut également contenir une cause : un autre pouvant être levée qui a provoqué la construction de ce pouvant être levée. L’enregistrement de ces informations causales est appelé installation d’exception chaînée , car la cause peut, elle-même, avoir une cause, et ainsi de suite, conduisant à une « chaîne » d’exceptions, chacune causée par un autre.

Une raison pour laquelle une levée peut avoir une cause est que la classe qui lève est générée au sommet d’une abstraction de couche inférieure et qu’une opération sur la couche supérieure échoue en raison d’une défaillance dans la couche inférieure. Il serait incorrect de laisser la levée levée par la couche inférieure se propager vers l’extérieur, car elle n’est généralement pas liée à l’abstraction fournie par la couche supérieure. En outre, cela lierait l’API de la couche supérieure aux détails de son implémentation, en supposant que l’exception de la couche inférieure était une exception vérifiée. La levée d’une « exception encapsulée » (c’est-à-dire une exception contenant une cause) permet à la couche supérieure de communiquer les détails de l’échec à son appelant sans entraîner l’une de ces lacunes. Il conserve la flexibilité nécessaire pour modifier l’implémentation de la couche supérieure sans modifier son API (en particulier, l’ensemble d’exceptions levées par ses méthodes).

Une deuxième raison pour laquelle une levée peut avoir une cause est que la méthode qui la lève doit se conformer à une interface à usage général qui ne permet pas à la méthode de lever directement la cause. Par exemple, supposons qu’une collection persistante soit conforme à l’interface java.util.Collection Collection et que sa persistance est implémentée en haut java.io. Supposons que les éléments internes de la add méthode puissent lever un java.io.IOException IOException. L’implémentation peut communiquer les détails de IOException l’appelant tout en respectant l’interface Collection en encapsulant l’exception IOException non cochée appropriée. (La spécification de la collection persistante doit indiquer qu’elle est capable de lever ces exceptions.)

Une cause peut être associée à une levée de deux façons : via un constructeur qui prend la cause en tant qu’argument ou via la #initCause(Throwable) méthode. Les nouvelles classes pouvant être levées qui souhaitent permettre aux causes d’être associées doivent fournir aux constructeurs qui prennent une cause et déléguer (peut-être indirectement) à l’un des Throwable constructeurs qui prennent une cause.

Étant donné que la méthode est publique, elle permet d’associer une cause à toute levée, même une « levée héritée » dont l’implémentation initCause précède l’ajout du mécanisme de chaînage d’exceptions à Throwable.

Par convention, la classe Throwable et ses sous-classes ont deux constructeurs, un qui ne prend aucun argument et un argument String qui peut être utilisé pour produire un message de détail. En outre, les sous-classes susceptibles d’avoir une cause associée doivent avoir deux constructeurs supplémentaires, un qui prend une Throwable (cause) et un qui prend un String (le message de détail) et un Throwable (la cause).

Ajouté dans la version 1.0.

Java documentation pour java.lang.Throwable.

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

Constructeurs

Nom Description
Throwable()

Construit une nouvelle levée avec null comme message de détail.

Throwable(IntPtr, JniHandleOwnership)

Constructeur utilisé lors de la création de représentations managées d’objets JNI ; appelée par le runtime.

Throwable(String, Throwable, Boolean, Boolean)

Construit un nouveau lever avec le message de détail spécifié, cause, #addSuppressed suppression activée ou désactivée, et trace de pile accessible en écriture activée ou désactivée.

Throwable(String, Throwable)

Construit un nouveau levée avec le message de détail et la cause spécifiés.

Throwable(String)

Construit un nouveau pouvant être levée avec le message de détail spécifié.

Throwable(Throwable)

Construit un nouveau lève avec la cause spécifiée et un message de détail de (cause==null ? null : cause.toString()) (qui contient généralement la classe et le message de détail de cause).

Champs

Nom Description
is_generated

Indique si cette valeur levée a été générée par la liaison.

Propriétés

Nom Description
Cause

Retourne la cause de cette levée ou null si la cause est inexistante ou inconnue.

Class

Obtient la classe runtime de cette valeur levée.

Handle

Handle de l’instance Android sous-jacente.

JavaStackTrace

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
JniIdentityHashCode

Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité.

JniManagedPeerState

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
JniPeerMembers

Obtient les métadonnées JNI utilisées pour appeler les membres de cet homologue Java.

LocalizedMessage

Crée une description localisée de cette valeur levée.

Message

Retourne la chaîne de message de détail de cette valeur levée.

PeerReference

Obtient la référence d’objet JNI pour cet homologue Java.

StackTrace

Obtient une représentation sous forme de chaîne de la trace de pile pour cette valeur levée.

ThresholdClass

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

ThresholdType

Cette API prend en charge l’infrastructure Mono pour Android et n’est pas destinée à être utilisée directement à partir de votre code.

Méthodes

Nom Description
AddSuppressed(Throwable)

Ajoute l’exception spécifiée aux exceptions qui ont été supprimées pour remettre cette exception.

Construct(JniObjectReference, JniObjectReferenceOptions)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
Dispose()

Libère les ressources détenues par cet homologue Java.

Dispose(Boolean)

Libère les ressources détenues par cet homologue Java.

DisposeUnlessReferenced()

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
Equals(Object)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
FillInStackTrace()

Renseigne la trace de la pile d’exécution.

Finalize()

Libère les ressources avant que cet homologue Java soit récupéré.

FromException(Exception)

Convertit un Exception en .Throwable

GetHashCode()

Retourne une valeur de code de hachage pour l’objet.

(Hérité de JavaException)
GetStackTrace()

Fournit un accès programmatique aux informations de trace de la pile imprimées par #printStackTrace().

GetSuppressed()

Retourne un tableau contenant toutes les exceptions qui ont été supprimées, généralement par l’instruction try-with-resources, afin de remettre cette exception.

InitCause(Throwable)

Initialise la cause de cette levée à la valeur spécifiée.

PrintStackTrace()

Imprime cette valeur levée et son backtrace dans le flux d’erreur standard.

PrintStackTrace(PrintStream)

Imprime cette valeur levée et son backtrace dans le flux d’impression spécifié.

PrintStackTrace(PrintWriter)

Imprime cette valeur levée et son backtrace à l’enregistreur d’impression spécifié.

SetHandle(IntPtr, JniHandleOwnership)

Définit la propriété Handle.

SetJavaStackTrace(JniObjectReference)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
SetStackTrace(StackTraceElement[])

Définit les éléments de trace de pile qui seront retournés par #getStackTrace() et imprimés par et par #printStackTrace() des méthodes associées.

ToException(Throwable)

Retourne l’exception managée correspondant au Java spécifié pouvant être levée.

ToString()

Convertit cette valeur en chaîne.

UnregisterFromRuntime()

Annule l’inscription de cet homologue Java à partir du runtime d’interopérabilité.

Implémentations d’interfaces explicites

Nom Description
IJavaPeerable.Disposed()

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
IJavaPeerable.Finalized()

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
IJavaPeerable.JniObjectReferenceControlBlock

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
IJavaPeerable.SetJniIdentityHashCode(Int32)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)
IJavaPeerable.SetPeerReference(JniObjectReference)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

(Hérité de JavaException)

Méthodes d’extension

Nom Description
GetJniTypeName(IJavaPeerable)

Obtient le nom JNI du type de l’instance self.

JavaAs<TResult>(IJavaPeerable)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

JavaCast<TResult>(IJavaObject)

Effectue une conversion de type vérifiée par le runtime Android.

JavaCast<TResult>(IJavaObject)

La Throwable classe est la superclasse de toutes les erreurs et exceptions dans le langage Java.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Essayez de forcer self le typeTResult, en vérifiant que le forçage est valide côté Java.

S’applique à