PG 2.8 Exceptions Flashcards
verschiedene Fälle der kontrollierten Exceptions
- Try-catch-Anweisung: fängt Exceptions ab und “behandelt” sie
- Throw-Anweisung: “wirft” eine neue Exception
- Throws-Anweisung: signalisiert, dass eine Methode Exceptions werfen kann => Weitergabe
Beispiel einer eigenen try-catch Anweisung mit finally
int erg;
try {
if(zahl2 == 0){
throw new DivisionByZeroException();
}
erg = zahl1 / zahl2;
return erg;
}
catch(DivisionByZeroException e){
System.out.println(“Null Teilung ist nicht erlaubt”);
e.printStackTrace();
}
finally{
System.out.println(“Rechnung wurde durchgeführt. Ergebnis: “);
}
return 0;
Beispiel einer eigenen Exception Klasse
public class DivisionByZeroException extends Exception{
public DivisionByZeroException(){
super(“Division by zero ist not allowed”);
}
}
Java kennt 2 verschiedene Arten von Ausnahmesituationen
-Checked Exceptions: alle Exceptions, die nicht von RuntimeException abgeleitet sind, Compiler prüft
-Unchecked Exceptions: alle Exceptions, die von RuntimeException abgeleitet sind, Compiler prüft nicht => man braucht auch keine try-catch oder throws
Exceptions abfangen oder weitergeben?
In den meisten Fälle ist es sinnvoller, Exceptions weiterzugeben. Abfangen sollte man Exceptions nur, wenn man den auslösenden Fehler lokal korrigieren kann.