Umgebung: Windows10, Eclipse, Java8
Beschreibt die Ausnahmebehandlung mit try catch finally in Java.
try{
wird bearbeitet
}catch(Ausnahmetyp Argument){
Verarbeitung, wenn eine Ausnahme auftritt
}finally{
Letzte auszuführende Aktion(Mit oder ohne Ausnahme)
}
public static void main(String[] args) {
double a = 99999;
//----------Fälle, in denen eine Ausnahmebehandlung auftritt----------
System.out.println("-----Ausnahme aufgetreten-----");
try {
a = 30/0;
}catch(ArithmeticException e) {
System.out.println("Ausnahmebehandlung: 0 bricht nicht");
System.out.println(e);
}finally {
System.out.println("finally "+ "a="+a);
}
//----------Fall, in dem keine Ausnahmebehandlung erfolgt----------
System.out.println("-----normal-----");
try {
a = 30/3;
}catch(ArithmeticException e) {
System.out.println("Ausnahmebehandlung: 0 bricht nicht");
System.out.println(e);
}finally {
System.out.println("finally "+ "a="+a);
}
}
-----Ausnahme aufgetreten-----
Ausnahmebehandlung: 0 bricht nicht
java.lang.ArithmeticException: / by zero
finally a=99999.0
-----normal-----
finally a=10.0
Im obigen Programm ist in der Zeile a = 30/0; Eine Ausnahme (ArithmeticException) ist aufgetreten, weil wir durch Null teilen (es gibt keine Lösung). Daher wird die folgende Verarbeitung ausgeführt.
}catch(ArithmeticException e) {
System.out.println("Ausnahmebehandlung: 0 bricht nicht");
}
Daher wird als Ausführungsergebnis "Ausnahmeverarbeitung: 0 bricht nicht" angezeigt.
Wie soll ich den Inhalt von catch schreiben?
}catch(ArithmeticException e){
Im obigen Beispiel ist ArithmeticException eine Ausnahme, die ausgelöst wird, wenn sie durch Null geteilt wird.
Andere Ausnahmen können in der folgenden Form geschrieben werden, daher werde ich sie erläutern.
}catch(Ausnahmetyp Argument){
Schreiben Sie den Typ, der ausgelöst wird, wenn eine Ausnahme auftritt.
Überprüfen Sie die Ausnahmeverarbeitung, die der in try in der Referenz beschriebenen Verarbeitung entspricht, und verwenden Sie sie. Für Java11: https://docs.oracle.com/javase/jp/11/docs/api/index-files/index-1.html
Auch, wenn Sie Ausnahmen bei Dateieingabe- / -ausgabevorgängen usw. behandeln möchten. Bei Verwendung einer Ausnahme namens IOException
import java.io.IOException;
Möglicherweise müssen Sie das Paket auch mit importieren.
In Bezug auf die diesmal als ArithmeticException bezeichnete Ausnahme
import java.lang.ArithmeticException
Es scheint notwendig zu sein, zu schreiben und zu importieren. Java.lang wird jedoch implizit in den Compiler importiert und muss nicht geschrieben werden. Aus diesem Grund kann System.out.println übrigens ohne Import verwendet werden.
Sie können es frei benennen. "E" wird oft verwendet.
In diesem Beispiel Weil es "System.out.println (e)" beschreibt; "Java.lang.ArithmeticException: / by zero" im Ausführungsergebnis Wird angezeigt und es kann bestätigt werden, dass eine Ausnahme empfangen wurde.
Recommended Posts