Vorlesung Informatik 2 - Teil A: Java Kurs

5.2 Exceptions behandeln

Mit try ... catch kann man Ausnahmen selbst abfangen und behandeln:

try{
      ganz normaler
      Ablauf des Algorithmus
     ohne sich um Fehler zu kümmern
}
catch(IOException e){
     System.out.println(e.getMessage);
     e.printStackTrace();
}
catch(NullPointerException e){
    e.printStackTrace();
}

Im try-Block programmiert man den ganz normalen Ablauf seines Algorithmus. In den catch-Blöcken werden die Fehler behandelt.

Wir müssen alle Exceptions abfangen, die nicht von RuntimeException abgeleitet sind.

RuntimeExceptions können wir abfangen, müssen es aber nicht.

In der API Beschreibung steht, welche Exceptions eine Metheode wirft. Beispiel: Thread.sleep() wirft eine InnterruptedException - schlagen Sie es nach.

Wenn wir eine Methode rufen, die eine Exception wirft, die nicht von RuntimeException abgeleitet ist, zwingt uns der Compiler, die Exception abzufangen oder weiterzugeben.

Wenn wir selbst nicht in der Lage sind, eine Exception zu behandeln, werfen wir sie einfach weiter - wie beim Rugby:


public void eineMethode() throws IOException{
     ...

}

Wir können auch bestimmte Exceptions selbst abfangen und andere mit throws weitergeben.


Lehrvideo  (YouTube)