Über das Auslösen einer RuntimeException hinaus besteht in Java die Möglichkeit, eigene Fehlerklassen zu definieren. Dies bedeutet, daß bei Vorliegen eines fehlerhaften Zustands eine speziell entworfene Fehlerbedingung geworfen wird und längs der geschachtelten Aufrufhierarchie jede Methode versuchen kann, diese Fehlermeldung zu fangen. Dieses Konzept wird über die Vokabeln throw, try und catch realisiert.
Im folgenden Beispiel wird zunächst eine eigene, von der Klasse Exception abgeleitete, Fehlerklasse KellerFehler formuliert.
Die Klasse AusnahmeKeller unterscheidet sich von der bereits eingeführten Klasse Keller nur dadurch, daß in den Methoden top und pop anstelle der RuntimeException nun der eigens definierte KellerFehler geworfen wird.
Die Klasse AusnahmeKellerTest liest analog zur Klasse Reverse eine Zahlenfolge ein und gibt sie in umgekehrter Reihenfolge wieder aus. Durch die Verwendung eines AusnahmeKellers kann ein eventuell auftretender Fehler abgefangen und behandelt werden.
Source: KellerFehler.java JavaDoc: KellerFehler.html Source: AusnahmeKeller.java JavaDoc: AusnahmeKeller.html Source: AusnahmeKellerTest.java JavaDoc: AusnahmeKellerTest.html Applet: