Heim  >  Artikel  >  Java  >  Erklärung von Ausnahmen und Ausnahmebehandlung in Java (Bilder und Text)

Erklärung von Ausnahmen und Ausnahmebehandlung in Java (Bilder und Text)

不言
不言Original
2018-09-18 17:13:481674Durchsuche

Dieser Artikel enthält eine Erklärung (Bilder und Text) zu Ausnahmen und der Ausnahmebehandlung in Java. Ich hoffe, dass er für Freunde hilfreich ist.

Vorwort

  1. Übersicht: Ausnahmen sind Fehler, die während der Ausführung eines Java-Programms auftreten.

  2. Wie behandelt man Ausnahmen, wenn sie auftreten? Java bietet eine Lösung: einen Ausnahmebehandlungsmechanismus.

  3. Ausnahmen in Java können verursacht werden, wenn Anweisungen in einer Funktion ausgeführt werden, oder sie können vom Programmierer manuell über die throw-Anweisung ausgelöst werden.

  4. Solange im Java-Programm eine Ausnahme auftritt, wird ein Ausnahmeobjekt des entsprechenden Typs verwendet, um die Ausnahme zu kapseln, und JRE versucht, einen Ausnahmehandler zur Behandlung zu finden Ausnahme.

  5. Es gibt einige allgemeine Ausnahmeklassen, die im JDK integriert sind, und wir können Ausnahmen auch anpassen.

  6. Die Throwable-Klasse ist die übergeordnete Klasse der Java-Ausnahmetypen. Nur wenn ein Objekt eine direkte oder indirekte Instanz der Throwable-Klasse ist, ist es ein Ausnahmeobjekt und kann es sein vom Ausnahmebehandlungsmechanismus erkannt.

Ausnahmeklassifizierung

Prüfungsausnahme:

(1) Die repräsentativste Prüfausnahme ist eine Ausnahme, die durch einen Benutzerfehler oder ein Benutzerproblem verursacht wird. Das ist etwas dass Programmierer nicht vorhersagen können.
(2) Wenn Sie beispielsweise eine Datei öffnen möchten, die nicht existiert, tritt eine Ausnahme auf. Diese Ausnahmen können beim Kompilieren nicht einfach ignoriert werden.

Laufzeitausnahmen:

(1) Laufzeitausnahmen sind Ausnahmen, die vom Programmierer vermieden werden können.
(2) Im Gegensatz zu geprüften Ausnahmen können Laufzeitausnahmen zur Kompilierungszeit ignoriert werden.

Fehler:

(1) Fehler sind keine Ausnahmen, sondern Probleme, die außerhalb der Kontrolle des Programmierers liegen.
(2) Fehler werden im Code oft ignoriert.
(3) Wenn beispielsweise der Stapel überläuft, tritt ein Fehler auf und sie können zur Kompilierungszeit nicht überprüft werden.

Abbildung der Ausnahmeklassifizierung:

Erklärung von Ausnahmen und Ausnahmebehandlung in Java (Bilder und Text)

Fehler- und Ausnahmeklassen

Java-Standardbibliothek wird erstellt -in Einige häufige Ausnahmen: Diese Klassen haben Throwable als übergeordnete Klasse der obersten Ebene.

Throwable leitet die Error-Klasse und die Exception-Klasse ab.

Error-Klasse:

(1) Instanzen der Error-Klasse und ihrer Unterklassen repräsentieren Fehler in der JVM selbst.
(2) Fehler können von Programmierern nicht durch Code behandelt werden und Fehler treten selten auf.
(3) Daher sollten Programmierer auf die verschiedenen Ausnahmeklassen unter dem Zweig achten, in denen Exception die übergeordnete Klasse ist.

Ausnahmeklasse:

(1) Exception und ihre Unterklassen repräsentieren Verschiedene unerwartete Ereignisse werden gesendet, wenn das Programm ausgeführt wird.
(2) kann vom Java-Ausnahmebehandlungsmechanismus verwendet werden und ist der Kern der Ausnahmebehandlung.

Ausnahmebehandlung

Der Ausnahmebehandlungsmechanismus ermöglicht es dem Programm, die Ausnahme gezielt gemäß der vom Code voreingestellten Ausnahmebehandlungslogik zu behandeln, wenn eine Ausnahme auftritt, sodass das Programm zurückkehren kann so weit wie möglich normalisieren und die Ausführung fortsetzen und den Code klar halten.

In Java besteht die Aufgabe der Ausnahmebehandlung darin, den Ausführungskontrollfluss von der Stelle, an der die Ausnahme auftritt, an eine Stelle zu übertragen, die diese Ausnahme behandeln kann.

Beim Schreiben von Code zur Behandlung von Ausnahmen gibt es zwei Möglichkeiten, geprüfte Ausnahmen zu behandeln:

(1) Verwenden Sie den try...catch...finally-Anweisungsblock, um
( 2 ) Verwenden Sie die throws-Anweisung in der Funktionssignatur, um sie dem Funktionsaufrufer zu übergeben, um den

try...catch...finally-Anweisungsblock aufzulösen:

(1) Versuchen Sie, Code in den Block einzufügen, der Ausnahmen verursachen kann. (2) Wenn der Versuch ausgeführt wird und keine Ausnahme auftritt, werden der Code des Final-Blocks und der Code danach ausgeführt Wenn beim Ausführen des Codes in try eine Ausnahme auftritt, wird versucht, mit dem Catch-Block übereinzustimmen. (4) Jeder Catch-Block wird zur Behandlung einer Ausnahme verwendet Reihenfolge der Catch-Blöcke, nur der erste wird ausgeführt. Der passende Catch-Block wird ausgeführt.
(6) Lokale Variablen im Try-Block, lokale Variablen im Catch-Block und lokale Variablen in „final“ können nicht gemeinsam genutzt werden.
(7) Unabhängig davon, ob eine Ausnahme auftritt, muss dies nur im „final“-Block erfolgen entsprechen: Wenn der Try-Block ausgeführt wird, wird er definitiv ausgeführt.
(8) Der „finally“-Block wird normalerweise für Ressourcenfreigabevorgänge, das Schließen von Dateien oder das Schließen von Datenbanken usw. verwendet.


throws/throw:

(1) Wenn eine Methode keine geprüfte Ausnahme abfängt, muss die Methode mit dem Schlüsselwort throws deklariert werden. (2) Das Schlüsselwort throws wird am Ende der Methodensignatur platziert. (3) throws deklariert nur die Ausnahmen, die in der Funktion auftreten können, gegenüber dem Aufrufer, behandelt die Ausnahmen jedoch nicht selbst.

(4) Der Grund für die Verwendung dieser Art der Ausnahmebehandlung kann sein, dass die Methode selbst nicht weiß, wie diese Ausnahme behandelt werden soll, oder dass es für den Aufrufer besser ist, sie zu behandeln, und dass der Aufrufer dafür verantwortlich sein muss die Ausnahme, die auftreten kann.

(5) Sie können das Schlüsselwort throw auch verwenden, um manuell eine Ausnahme auszulösen, unabhängig davon, ob sie neu instanziiert oder gerade abgefangen wurde.
(6) Auf die throw-Anweisung muss ein Ausnahmeobjekt folgen.

Das obige ist der detaillierte Inhalt vonErklärung von Ausnahmen und Ausnahmebehandlung in Java (Bilder und Text). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn