7.1 Arbeiten mit Exceptions
  • Eine Exception ist eine normale Klasse.
  • Der zu prüfende Block wird durch einen try-Block zusammengefasst.
  • Hinter dem try-Block stehen catch-Anweisungen, die die Exceptionsannehmen.
  • Mit throw kann ein Fehler geworfen werden.

        try {
             ...
             throw FehlerKlasse1;
             ...
        }
        catch (Fehlerklasse1 var1) {
             // Behandlung für Fehlerklasse 1
        }
        catch (Typ1 var1) {
             // Behandlung für Typ1
        }
        catch {
             // Default
        }

Im Falle des throw wird ein Objekt des Fehlerklassen1-Typs erzeugt. Für automatisch erzeugte Objekte werden die Destruktoren aufgerufen und geschaut, ob ein catch mit entsprechender Signatur vorliegt. Wenn nicht, wird ein default-Catch gesucht. Wenn kein default vorliegt, wird die Exception an den hierarchisch nächsthöheren Block gegeben, usw bis main erreicht ist. Sollte eine Exception innerhalb des Programms nicht gefangen werden, wird das Hauptprogramm mit einer Fehlermeldung abgebrochen.