Diese Seite drucken

Exception Handling

= strukturierte Behandlung von Fehlern

  • Begriffe:
    • Exception = die eigentliche Ausnahme
    • throwing = das Auslösen der Ausnahme
    • catching =das Behandeln der Ausnahme (die eigentlichen Reaktion)

  • Grundprinzip
    1. Eine Ausnahme wird durch einen Fehler ausgelöst
    2. Eigene Behandlung der Ausnahme oder Weitergabe
      1. Empfänger hat wieder die Wahl zwischen Behandlung und Weitergabe der Ausnahme
    3. Wird die Ausnahme nicht behandelt beendet das Programm und gibt den Fehler aus
    4. Optional wird mit finally aufgeräumt

      try {
          // Hier steht die kritische Anweisung
      }
      catch (Exception e) {
          System.out.println("Fehler");
      }
      finally {
          // Hier kann eine beliebige Anweisung stehen
      }
      


  • Fehlerklassen
    • Laufzeitfehler sind Unterklassen der Klasse Throwable = allgemeine Fehlerklasse
    • Unterhalb von Throwable gibt es zwei große Vererbungszweige, Errors und Exceptions
    • Viele Java Pakete haben eigene Fehlerklassen

  • Behandlung von Exceptions
    • try catch - Anweisung

      try {
          // Hier steht die kritische Anweisung
      }
      catch (Exception e) {
          System.err.println("Fehler");
      }
      


    • Fehlerobject fom Typ Throwable verwenden

      try {
          // Hier steht die kritische Anweisung
      }
      catch (Exception e) {
          System.out.println("Fehler");
          System.out.println("Ursache: " + e.getMessage());
          e.printStackTrace();
      }
      



    • Weitergabe der Anweisung / Exception

      public void testMethoden() throws Exception {
      
          try {
              // Hier steht die kritische Anweisung
          }
          catch (Exception e) {
              System.out.println("Fehler");
              throw e;
          }
      }