Sprache

JavaException Klasse

Definition

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

[Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)]
public class JavaException : Exception, IDisposable, Java.Interop.IJavaPeerable
[<Java.Interop.JniTypeSignature("java/lang/Throwable", GenerateJavaPeer=false)>]
type JavaException = class
    inherit Exception
    interface IJavaPeerable
    interface IDisposable
Vererbung
JavaException
Abgeleitet
Attribute
Implementiert

Hinweise

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache. Nur Objekte, die Instanzen dieser Klasse (oder eine seiner Unterklassen) sind, werden vom Java virtuellen Computer ausgelöst oder können von der Java Throw-Anweisung ausgelöst werden. Ebenso kann nur diese Klasse oder eine ihrer Unterklassen der Argumenttyp in einer Catch-Klausel sein. Für die Kompilierungszeitüberprüfung von Ausnahmen werden throwable und jede Unterklasse von Throwable, die nicht auch eine Unterklasse von RuntimeException oder Error ist, als überprüfte Ausnahmen betrachtet. Instanzen von zwei Unterklassen, Fehler und Ausnahme, werden konventionell verwendet, um anzugeben, dass außergewöhnliche Situationen aufgetreten sind. In der Regel werden diese Instanzen im Kontext der Außergewöhnlichkeit neu erstellt, um relevante Informationen (z. B. Stapelablaufverfolgungsdaten) einzuschließen. Ein Throwable enthält eine Momentaufnahme des Ausführungsstapels des Threads zum Zeitpunkt der Erstellung. Sie kann auch eine Meldungszeichenfolge enthalten, die weitere Informationen zum Fehler enthält. Im Laufe der Zeit kann ein Throwable andere Throwables unterdrücken, die verbreitet werden. Schließlich kann die werfende Funktion auch eine Ursache enthalten: eine weitere Auslösebar, die dazu führte, dass diese ausgelöst werden kann. Die Aufzeichnung dieser Kausalinformationen wird als verkettete Ausnahmeeinrichtung bezeichnet, da die Ursache selbst eine Ursache haben kann, usw. zu einer "Kette" von Ausnahmen, die jeweils durch eine andere verursacht werden. Ein Grund dafür, dass ein Auslöser eine Ursache haben kann, ist, dass die Klasse, die sie auslöst, auf einer niedrigeren ebeneren Abstraktion erstellt wird, und ein Vorgang auf der oberen Ebene aufgrund eines Fehlers in der unteren Ebene fehlschlägt. Es wäre ein schlechtes Design, um den werfenden Wurf durch die untere Ebene nach außen verbreiten zu lassen, da sie in der Regel nicht mit der abstrahierten Abstraktion der oberen Ebene verbunden ist. Darüber hinaus würde die API der oberen Ebene mit den Details der Implementierung verbunden, vorausgesetzt, die Ausnahme der unteren Ebene war eine überprüfte Ausnahme. Das Auslösen einer "umschlossenen Ausnahme" (d. h. eine Ausnahme, die eine Ursache enthält) ermöglicht der oberen Ebene, die Details des Fehlers mit dem Aufrufer zu kommunizieren, ohne dass eine dieser Mängel auftritt. Sie behält die Flexibilität bei, die Implementierung der oberen Ebene zu ändern, ohne ihre API zu ändern (insbesondere die Gruppe von Ausnahmen, die von ihren Methoden ausgelöst werden). Ein zweiter Grund dafür, dass eine Auslösemöglichkeit eine Ursache haben kann, ist, dass die Methode, die sie auslöst, einer allgemeinen Schnittstelle entsprechen muss, die nicht zulässt, dass die Methode die Ursache direkt auslösen kann. Angenommen, eine persistente Auflistung entspricht der Sammlungsschnittstelle und die Persistenz wird java.io implementiert. Angenommen, die Internen der Add-Methode können eine IOException auslösen. Die Implementierung kann die Details der IOException an den Aufrufer kommunizieren, während sie der Sammlungsschnittstelle entsprechen, indem sie die IOException in eine entsprechende deaktivierte Ausnahme umschließen. (Die Spezifikation für die persistente Sammlung sollte angeben, dass sie solche Ausnahmen auslösen kann.) Eine Ursache kann auf zwei Arten mit einem Throwable verknüpft werden: über einen Konstruktor, der die Ursache als Argument verwendet, oder über die initCause(Throwable)-Methode. Neue ausgelöste Klassen, die Ursachen zulassen möchten, die ihnen zugeordnet werden sollen, sollten Konstruktoren bereitstellen, die eine Ursache annehmen, und Stellvertretungen (möglicherweise indirekt) an einen der ausgelösten Konstruktoren, die eine Ursache annehmen. Da die initCause-Methode öffentlich ist, ist sie eine Ursache, die mit jedem throwablen verknüpft werden kann, auch einer "legacy throwable", deren Implementierung vor dem Hinzufügen des Ausnahmeverkettungsmechanismus auf "Throwable" festgelegt ist. In der Konvention verfügen Klasse Throwable und ihre Unterklassen über zwei Konstruktoren, eine, die keine Argumente akzeptiert, und eines, das ein String-Argument verwendet, das verwendet werden kann, um eine Detailmeldung zu erzeugen. Darüber hinaus sollten diese Unterklassen, die wahrscheinlich eine Ursache zugeordnet haben, zwei weitere Konstruktoren aufweisen, eine, die eine Ausgelöste (die Ursache) akzeptiert, und eine, die eine Zeichenfolge (die Detailnachricht) und eine ausgelöste (Ursache) akzeptiert.

Java Referenz für java.lang.Throwable.

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Konstruktoren

Name Beschreibung
JavaException()

Erstellt eine neue, mit NULL ausgelöste Nachricht als Detailmeldung.

JavaException(JniObjectReference, JniObjectReferenceOptions, JniObjectReference)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

JavaException(JniObjectReference, JniObjectReferenceOptions)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

JavaException(String, Exception)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

JavaException(String)

Erstellt einen neuen Throwable mit der angegebenen Detailmeldung.

Felder

Name Beschreibung
InvalidJniObjectReference

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Eigenschaften

Name Beschreibung
JavaStackTrace

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

JniIdentityHashCode

Gibt den gleichen Hashcode für das angegebene Objekt zurück, wie von der Standardmethode hashCode(), unabhängig davon, ob die Klasse des angegebenen Objekts hashCode() überschreibt.

JniManagedPeerState

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

JniPeerMembers

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

PeerReference

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

StackTrace

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Methoden

Name Beschreibung
Construct(JniObjectReference, JniObjectReferenceOptions)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Dispose()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Dispose(Boolean)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

DisposeUnlessReferenced()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Equals(Object)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Finalize()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

GetHashCode()

Gibt einen Hashcodewert für das Objekt zurück.

SetJavaStackTrace(JniObjectReference)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

SetPeerReference(JniObjectReference, JniObjectReferenceOptions)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

UnregisterFromRuntime()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Explizite Schnittstellenimplementierungen

Name Beschreibung
IJavaPeerable.Disposed()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

IJavaPeerable.Finalized()

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

IJavaPeerable.JniObjectReferenceControlBlock

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

IJavaPeerable.SetJniIdentityHashCode(Int32)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

IJavaPeerable.SetJniManagedPeerState(JniManagedPeerStates)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

IJavaPeerable.SetPeerReference(JniObjectReference)

Die Throwable-Klasse ist die Superklasse aller Fehler und Ausnahmen in der Java Sprache.

Erweiterungsmethoden

Name Beschreibung
GetJniTypeName(IJavaPeerable)

Ruft den JNI-Namen des Typs der Instanz selfab.

JavaAs<TResult>(IJavaPeerable)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Versuchen Sie, die Eingabe selfzu TResult erzwingen, und überprüfen Sie, ob die Koersion auf der Java Seite gültig ist.

Gilt für: