Throwable Classe
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 |
| 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 |
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 |
| Class |
Obtient la classe runtime de cette valeur levée. |
| Handle |
Handle de l’instance Android sous-jacente. |
| JavaStackTrace |
La |
| JniIdentityHashCode |
Obtient le code de hachage d’identité affecté à cet homologue Java par le runtime d’interopérabilité. |
| JniManagedPeerState |
La |
| 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 |
| 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 |
| Equals(Object) |
La |
| 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) | |
| 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 |
| GetSuppressed() |
Retourne un tableau contenant toutes les exceptions qui ont été supprimées, généralement par l’instruction |
| 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 |
| SetPeerReference(JniObjectReference, JniObjectReferenceOptions) |
La |
| SetStackTrace(StackTraceElement[]) |
Définit les éléments de trace de pile qui seront retournés par |
| 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 |
| IJavaPeerable.Finalized() |
La |
| IJavaPeerable.JniObjectReferenceControlBlock |
La |
| IJavaPeerable.SetJniIdentityHashCode(Int32) |
La |
| IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates) |
La |
| IJavaPeerable.SetPeerReference(JniObjectReference) |
La |
Méthodes d’extension
| Nom | Description |
|---|---|
| GetJniTypeName(IJavaPeerable) |
Obtient le nom JNI du type de l’instance |
| JavaAs<TResult>(IJavaPeerable) |
Essayez de forcer |
| JavaCast<TResult>(IJavaObject) |
Effectue une conversion de type vérifiée par le runtime Android. |
| JavaCast<TResult>(IJavaObject) |
La |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
Essayez de forcer |