Es gibt drei Haupttypen von Fehlern:
・ Kompilierungsfehler aufgrund eines Grammatikfehlers ・ Beispiele sind das Vergessen von Semikolon, Rechtschreibfehler usw. -Nicht kompiliert
-Das Ausführungsergebnis unterscheidet sich von dem, was aufgrund eines Syntaxfehlers beabsichtigt war. ・ Zum Beispiel wird 3 + 5 mit der Rechnersoftware als 35 ausgegeben. ・ Kompiliert
Es gibt 3 Arten ・ ** Schreiben Sie für "2. Laufzeitfehler" den Code, der die Zeit des Fehlers annimmt. ** ** ** ・ ** "1. Grammatikfehler" und "3. Logischer Fehler" werden durch Ändern des Originalcodes behoben! ** ** **
-Klassen werden für jeden Fehlerauftrittsstatus vorbereitet und bestehen aus Vererbungshierarchien. ・ Bedeutung für jede Klasse ・ Das Vererbungshierarchiediagramm lautet wie folgt
** Für "Ausnahme" muss Code geschrieben werden, der im Fehlerfall behandelt werden kann **
Ausnahmen sind in der Java-API aufgeführt
Es gibt zwei Haupttypen der Ausnahmebehandlung.
Wird beim Schreiben der Verarbeitung verwendet, wenn eine Ausnahme in einer eigenen Methode auftritt
try {
Originalverarbeitung
}catch (Name der Ausnahmeklassenvariablen) {
Was tun, wenn eine Ausnahme auftritt?
}finally{
Der Prozess muss unabhängig von Ausnahmen fehlerfrei ausgeführt werden
}
[Verarbeitungsablauf]
(1) Beschreiben Sie den Prozess in der Methode "try". Wenn eine Ausnahme auftritt, übergeben Sie die Fehlerklasseninstanz an "catch".
(2) Empfangen Sie eine Ausnahmeinstanz mit "(Name der Ausnahmeklassenvariablen)" von "catch (Name der Ausnahmeklassenvariablen)".
Beschreiben Sie die Verarbeitung nach dem Empfang in der Methode.
③ In finally
wird eine Verarbeitung wie das Schließen / Trennen der Datei ausgeführt.
Sogenannte Fehlermeldung. Wird mit "String getMessage ()" angezeigt.
In welcher Reihenfolge hat die JVM die Methoden des Programms aufgerufen und wo ist die Ausnahme aufgetreten? Zeigen Sie den Inhalt mit "void printStack Trace" an.
public static void main (String[] args) {
FileWriter fw = null;
try {
fw = new FileWriter("date.txt");//Instanzgenerierung
fw.write("hellow");//Schreiben Sie Hallo hinein
}catch (Exception e) {
System.out.println("Es ist eine Ausnahme aufgetreten");
}finally{
try {
fw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
-Catch (Exception e)
bedeutet, dass alle Exception-Instanzen der Nachkommen von Exception
empfangen werden.
try (
Generierung von Dateiinstanzen
){
Verarbeitung für Dateien
}catch{
}
In () geöffnete Dateien und Datenbanken rufen nach Abschluss der Verarbeitung automatisch die Methode "close" auf.
So beschreiben Sie die Verarbeitung, wenn eine Ausnahme auftritt, wenn Sie die aufrufende Methode fragen
Der Methodenname löst den Namen der Ausnahmeklasse 1 aus,Name der Ausnahmeklasse 2
[Ergänzung]
Es ist nicht nur möglich, die aufgetretene Ausnahme zu empfangen, sondern auch die Ausnahme zu benachrichtigen
werfen Sie den Namen der Ausnahmeinstanz
//Hauptmethode
public class Main {
public static void main(String[] args) {
Person person = new Person();
person.setAge(-100);
}
}
//Personenklasse
public class Person {
int age;
public void setAge(int age) {
if(age<0) {
throw new IllegalArgumentException("Das Alter sollte eine positive Zahl sein.");
}
this.age = age;
}
}
//Ausgabeergebnis
Exception in thread "main" java.lang.IllegalArgumentException:Das Alter sollte eine positive Zahl sein.
at Java15.Person.setAge(Person.java:7)
at Java15.Main.main(Main.java:6)
Recommended Posts