Seite 30

Exceptions

(siehe auch)


Die Hierarchie der Errors und Exceptions:
Erläuterungen an Beispielen: (zuerst knapp)
import java.lang.Exception
public class BookTooLongException extends Exception{ 
  BookTooLongException() {}
  BookTooLongException( String s ) {
        super ( s );
  }
}
 Im wesentlichen bekommt die Neue Klasse nur einen neuen Namen und 
 erbt alles von der Super-Exception-Klasse.
Diese neue Exception kann dann wie folgt implementiert werden
import BookTooLongException;
public class A {
  int f() throws BookTooLongException { 
     ...
     if (pagenumber > limit) {
       throw new BookTooLongException("Zu viele Seiten");
     }
     ....
  }
}

Anschließend kann der Anwender ohne Wissen wie die Exception implementiert ist darauf zugreifen:

....

 

try{ 
   .... 
   // Anweisungen mit die die Methode f() verwenden
   .....
}
catch( BookTooLongException e ){
  // Fehlerbehandlung falls ein solcher Fehler 
  // aufgetaucht ist.
}
Bemerkung: Die Operatoren    /    *   +   -  sind Java-intern auch Methoden
                    und dort sind die entsprechenden Exception-Klassen definiert.
                    Der Anwender braucht sich darum nicht zu kümmern. Er muß
                    nur wissen, daß es sie gibt und wie sie zu verwenden sind.

                    => zB. ArithmeticException bei Division durch 0 

                    vergl. hierzu: Java Platform 1.2 Specification (JDK-Doku)
                                          java.lang / Exceptions / Exception

Falls in dem try block mehrere unterschiedliche Exceptions auftreten 
können, kann durch anfügen weiterer catch Blöcke auch mehrere
Ausnahmen behandelt werden.
<= Seite Inhaltsverzeichnis Seite =>