[JAVA] Ausnahme

Ausnahmetyp

Ausnahmetyp

Es gibt drei Haupttypen von Fehlern:

  1. Syntaxfehler
  2. Laufzeitfehler
  3. Logischer Fehler

1. Syntaxfehler

・ Kompilierungsfehler aufgrund eines Grammatikfehlers ・ Beispiele sind das Vergessen von Semikolon, Rechtschreibfehler usw. -Nicht kompiliert

2. Laufzeitfehler

3. Logischer Fehler

-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

Zusammenfassung···

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, die Ausnahmen und ihre Typen darstellen

-Klassen werden für jeden Fehlerauftrittsstatus vorbereitet und bestehen aus Vererbungshierarchien. ・ Bedeutung für jede Klasse ・ Das Vererbungshierarchiediagramm lautet wie folgt

スクリーンショット 2018-03-05 9.38.13.png

Zusammenfassung···

** Für "Ausnahme" muss Code geschrieben werden, der im Fehlerfall behandelt werden kann **

Ausnahmen behandeln

So suchen Sie nach Ausnahmen

Ausnahmen sind in der Java-API aufgeführt

Beispiel

スクリーンショット 2018-03-05 14.23.18.png

Arten der Ausnahmebehandlung

Es gibt zwei Haupttypen der Ausnahmebehandlung.

  1. Catch-Syntax
  2. löst Syntax aus

1. Catch-Syntax

Was ist die Catch-Syntax?

Wird beim Schreiben der Verarbeitung verwendet, wenn eine Ausnahme in einer eigenen Methode auftritt

wie benutzt man

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.

Informationen, über die die Ausnahmeinstanz verfügt

① Erläuterung der Ausnahmeinformationen

Sogenannte Fehlermeldung. Wird mit "String getMessage ()" angezeigt.

② Stapelspur

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.

Beispiel

	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();
			}
		}
	}

Ergänzung

-Catch (Exception e) bedeutet, dass alle Exception-Instanzen der Nachkommen von Exception empfangen werden.

Schreiben ohne "endlich"

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.

2. löst Syntax aus

Was ist die Throws-Syntax?

So beschreiben Sie die Verarbeitung, wenn eine Ausnahme auftritt, wenn Sie die aufrufende Methode fragen

wie benutzt man

Der Methodenname löst den Namen der Ausnahmeklasse 1 aus,Name der Ausnahmeklasse 2

[Ergänzung]

So lösen Sie eine Ausnahme aus

Denkweise

Es ist nicht nur möglich, die aufgetretene Ausnahme zu empfangen, sondern auch die Ausnahme zu benachrichtigen

wie benutzt man

werfen Sie den Namen der Ausnahmeinstanz

Beispiel

//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

Ausnahme
Ausnahmebehandlung
Selbst gemachte Ausnahme
Ausnahmebehandlung Ausnahme
Java-Ausnahmebehandlung?
Informationen zur Ausnahmebehandlung
Informationen zur Ausnahmebehandlung
Behandlung von Ruby-Ausnahmen
Ausnahmeschaltmethode
[Java] Ausnahmeinstanz
Ruby-Ausnahmebehandlung
[Java] Ausnahmebehandlung
☾ Java / Ausnahmebehandlung
Informationen zur Behandlung von Java-Ausnahmen
Behandlung von Java-Ausnahmen
Informationen zur Behandlung von Ruby-Ausnahmen
Praxis der Ausnahmebehandlung (ArithmeticException)
[Java] Wirf eine Ausnahme aus
Ausnahme beim Schließen von Try-with-Resources
Spring Boot-Ausnahmebehandlung