Heim >Java >JavaErste Schritte >Detaillierte Einführung in Ausnahmetypen und Ausnahmebehandlung in Java
1. Ausnahmeimplementierung und -klassifizierung
1. Schauen Sie sich zunächst das Strukturdiagramm der Ausnahme an Klasse
Das obige Bild zeigt lediglich das Strukturdiagramm der Ausnahmeklasse. Natürlich können Benutzer auch die Ausnahmeimplementierung anpassen selbst. Das obige Bild reicht aus, um uns zu helfen, die Implementierung von Ausnahmen zu erklären und zu verstehen:
Java-bezogene kostenlose Video-Tutorials: Java-Lehrvideo
1. Alle Ausnahmen werden geerbt von Wurfbar Es ist der gemeinsame Vorfahre aller Anomalien.
2. Throwable
hat zwei Unterkategorien, Error
und Exception
.
Wobei Fehler ein Fehler ist. Alle Kompilierzeitfehler und Systemfehler werden durch Fehler ausgelöst. Diese Fehler weisen darauf hin, dass der Fehler in der virtuellen Maschine selbst auftritt oder auftritt, wenn die virtuelle Maschine versucht, die Anwendung auszuführen, z. B. ein Ausführungsfehler der Java Virtual Machine (Virtual MachineError
), ein Klassendefinitionsfehler (NoClassDefFoundError
) usw.
Diese Fehler können nicht überprüft werden, da sie außerhalb der Kontroll- und Verarbeitungsmöglichkeiten der Anwendung liegen und es sich bei den meisten davon um Bedingungen handelt, die bei der Ausführung des Programms nicht auftreten dürfen. Bei einer gut gestalteten Anwendung sollte selbst dann, wenn ein Fehler auftritt, kein Versuch unternommen werden, die durch ihn verursachte Ausnahmebedingung zu behandeln. In Java werden Fehler durch Unterklassen von Error beschrieben.
3.Exception
ist eine weitere sehr wichtige Ausnahmeunterklasse. Die darin angegebenen Ausnahmen sind Ausnahmen, die das Programm selbst verarbeiten kann.
Der Unterschied zwischen Ausnahmen und Fehlern besteht darin, dass Ausnahmen behandelt werden können, Fehler jedoch nicht.
4.Checked Exception
Überprüfbare Ausnahmen werden sehr häufig beim Codieren verwendet. Alle überprüften Ausnahmen müssen im Code behandelt werden. Ihr Auftreten ist vorhersehbar, eine normale Situation und kann vernünftig gehandhabt werden, z. B. IOException
oder einige benutzerdefinierte Ausnahmen. Mit Ausnahme von RuntimeException
und seinen Unterklassen handelt es sich bei allen um geprüfte Ausnahmen.
5.Unchecked Exception
RuntimeException
und seine Unterklassen sind alle ungeprüfte Ausnahmen. Zum Beispiel eine NPE-Nullzeiger-Ausnahme, eine arithmetische Ausnahme, wenn der Divisor 0 ArithmeticException
ist usw. Diese Art von Ausnahme tritt während der Laufzeit auf und kann nicht im Voraus abgefangen und behandelt werden. Der Fehler ist ebenfalls eine ungeprüfte Ausnahme und kann nicht im Voraus behandelt werden.
2. Ausnahmebehandlung
Die Ausnahmebehandlung im Code ist eigentlich die Behandlung überprüfbarer Ausnahmen.
1. Verarbeitet durch try...catch-Anweisungsblock:
try { // 程序代码 }catch(ExceptionName e1) { //Catch 块 }
Die Catch-Anweisung enthält eine Deklaration des abzufangenden Ausnahmetyps. Wenn im geschützten Codeblock eine Ausnahme auftritt, wird der Catch-Block nach dem Versuch überprüft.
Wenn die auftretende Ausnahme in einem Catch-Block enthalten ist, wird die Ausnahme an den Catch-Block übergeben, was der Übergabe eines Parameters an eine Methode entspricht.
2. Darüber hinaus können Sie es auch direkt werfen, ohne es an der bestimmten Stelle zu verarbeiten, und es dann durch Würfe/Wurf auf die obere Ebene verarbeiten. Insbesondere wenn eine Methode keine aktivierte Ausnahme abfängt, Dann muss die Methode zum Deklarieren das Schlüsselwort throws verwenden.
Das Schlüsselwort „throws“ wird am Ende der Methodensignatur platziert. Sie können auch das Schlüsselwort throw verwenden, um eine Ausnahme auszulösen, unabhängig davon, ob sie neu instanziiert oder gerade abgefangen wurde.
Die folgende Methodendeklaration löst eine RemoteException aus:
import java.io.*; public class className { public void deposit(double amount) throws RemoteException { // Method implementation throw new RemoteException(); } //Remainder of class definition }
3. Schlüsselwort „final“
Das Schlüsselwort „final“ wird verwendet, um einen Codeblock zu erstellen, der nach dem Try-Codeblock ausgeführt wird. Unabhängig davon, ob eine Ausnahme auftritt, wird der Code im „finally“-Block immer ausgeführt. Im „finally“-Codeblock können Sie Bereinigungsanweisungen wie Bereinigungstypen ausführen.
Schließlich erscheint der Codeblock am Ende des Catch-Codeblocks. Die Syntax lautet wie folgt:
try{ // 程序代码 }catch(异常类型1 异常的变量名1){ // 程序代码 }catch(异常类型2 异常的变量名2){ // 程序代码 }finally{ // 程序代码 }
Empfohlene Java-bezogene Artikel-Tutorials: Java-Eingabeprogramm
Das obige ist der detaillierte Inhalt vonDetaillierte Einführung in Ausnahmetypen und Ausnahmebehandlung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!