In diesem Artikel wird der Ausnahmemechanismus von Java anhand von Beispielen analysiert und als Referenz für alle freigegeben. Ich glaube, dass es Ihnen dabei helfen wird, die Ausnahmebehandlungsfunktionen Ihres Java-Programms zu verbessern. Die spezifische Analyse lautet wie folgt:
Wie wir alle wissen, ist der Ausnahmemechanismus in Java sehr wichtig. Der Ausnahmemechanismus kann Fehler im Programm erfassen und die Stabilität und Robustheit des Programms verbessern.
Ausnahmen werden in Java in „Checked Exception“ (Nicht-Laufzeit-Ausnahme) und „UnChecked Exception“ (Laufzeit-Ausnahme) unterteilt. Alle Ausnahmeklassen erben Exception direkt oder indirekt. Exception erbt direkt von der Throwable-Klasse. Wenn jedoch ein Fehler auftritt, kann das Programm den Fehler nicht verarbeiten, daher liegt der Fokus hier auf der Exception-Klasse . Die RuntimeException-Klasse erbt von Exception, und Laufzeitausnahmen werden direkt oder indirekt von der RuntimeException-Klasse geerbt. Andere, die von der Exception-Klasse erben, sind Nicht-Laufzeit-Ausnahmen, die während der Kompilierung erkannt werden können. Laufzeitausnahmen treten nur zur Laufzeit auf. Beispielsweise kann eine arithmetische Division durch Null während der Kompilierung passieren, aber zur Laufzeit wird eine Laufzeitausnahme ausgelöst, und der Divisor darf nicht Null sein.
In Java gibt es zwei Arten der Ausnahmebehandlung
1. Ausnahmen abfangen
Der Aufbau ist wie folgt
try{//Code ausführen, der Ausnahmen generieren kann}catch(RuntimeException e){//Die abgefangene Ausnahme verarbeiten}catch(Exception e)//Kann mehrere abzufangende Ausnahmen definieren{//Die erfasste Ausnahme verarbeiten}finally {//The Code, der nach der Erfassung ausgeführt werden soll, ist optional. Falls vorhanden, wird er unabhängig davon ausgeführt, ob eine Ausnahme vorliegt} try-catch-finally
Wenn die Ausnahme von Catch abgefangen wird und später eine Catch-Anweisung vorhanden ist, wird sie nicht ausgeführt. Wenn jedoch ein Final-Block vorhanden ist, werden die Anweisungen im Final-Block definitiv ausgeführt.
2. Deklarieren Sie eine Ausnahme
ThrowsException wird bei der Methodendeklaration deklariert, bei der die Methode aufgerufen wird, die die Ausnahme generiert. Diese Methode behandelt diese Art von Ausnahme nicht, sondern wird vom Aufrufer der Methode behandelt.
3. Künstliches Auslösen von Ausnahmen
Eine Ausnahme direkt innerhalb der Methode auslösen, Ausnahme auslösen;
Es wird empfohlen, keine Laufzeitausnahmen zu behandeln.
Eine benutzerdefinierte Ausnahme definiert eine Unterklasse, die von der Exception-Klasse erbt. Im Allgemeinen definiert sie keine Unterklasse, die von der RuntimeException-Klasse erbt. Wenn es eine return-Anweisung im try-Block gibt, ist die Anweisung in Der „finally“-Block muss zuerst erneut ausgeführt werden. Wenn sich jedoch eine System.exit(0)-Anweisung im try-Block befindet, wird die Anweisung des „finally“-Blocks nicht ausgeführt, da „System.exit(0)“ den aktuellen Block beendet Wenn die Java Virtual Machine ausgeführt wird, wird das Programm beendet, bevor die virtuelle Maschine beendet wird.
Klasse myException erweitert Exception{ public myException(String str) { super(str }}myException
Ausnahmen werden in der Dateiverarbeitung, in Eingabe- und Ausgabestream-Anwendungen usw. verwendet.
Häufige Ausnahmetypen sind:
1. java.lang.NullPointerException: Nullzeigerausnahme Der Grund für diese Ausnahme ist, dass eine Referenz null ist, aber eine Methode der Referenz im Programm aufgerufen wird.
2. java.lang.ClassNotFoundException: Die angegebene Klasse kann nicht gefunden werden. Die Klasse ist möglicherweise undefiniert.
3. java.lang.ArithmeticException: Arithmetische Ausnahme, z. B. Division durch Null.
4. FileNotFoundException: Während der Dateiverarbeitung kann die angegebene Datei nicht gefunden werden.
5. IOException: Ausnahme für Eingabe- und Ausgabestreams
6. SQLException: SQL-Ausnahme, beim Ausführen der SQL-Anweisung ist ein Fehler aufgetreten.
Darüber hinaus gibt es viele Arten von Ausnahmen, die bei der zukünftigen Programmierung auftreten werden. Ich glaube, dass das, was in diesem Artikel beschrieben wird, einen gewissen Referenzwert für die Java-Programmierung aller hat.