6.2 RuntimeException muss nicht aufgefangen werden
Einige Fehlerarten können potenziell an vielen Programmstellen auftreten, etwa eine ganzzahlige Division durch null[148](Fließkommadivisionen durch 0.0 ergeben entweder ± unendlich oder NaN.) oder ungültige Indexwerte beim Zugriff auf Array-Elemente. Treten solche Fehler beim Programmlauf auf, liegt dem in der Regel ein Denkfehler des Programmierers zugrunde, und das Programm sollte normalerweise nicht versuchen, die ausgelöste Ausnahme aufzufangen und zu behandeln. Daher gibt es in der Java-API mit der Klasse RuntimeException eine Unterklasse von Exception, die Programmierfehler aufzeigt, die behoben werden müssen. (Der Name »RuntimeException« ist jedoch seltsam gewählt, da alle Ausnahmen immer zur Runtime, also zur Laufzeit, erzeugt, ausgelöst und behandelt werden.)
6.2.1 Beispiele für RuntimeException-Klassen

Die Java-API bietet insgesamt eine große Anzahl von RuntimeException-Klassen, und es werden immer mehr. Die Tabelle listet einige bekannte Fehlertypen auf und zeigt, welche Operationen die Fehler auslösen. Wir greifen hier schon auf spezielle APIs zurück, die erst später im Buch vorgestellt werden.
6.2.2 Kann man abfangen, muss man aber nicht
Eine RuntimeException muss der Entwickler nicht abfangen, er kann es aber tun. Da der Compiler nicht auf einem Abfangen besteht, heißen die aus RuntimeException hervorgegangenen Ausnahmen auch nicht geprüfte Ausnahmen (engl. unchecked exceptions), und alle übrigen heißen geprüfte Ausnahmen (engl. checked exceptions). Auch muss eine RuntimeException nicht unbedingt bei throws in der Methodensignatur angegeben werden, wobei einige Autoren das zur Dokumentation machen. Tritt eine RuntimeException zur Laufzeit auf und kommt nicht irgendwann in der Aufrufhierarchie ein try-catch, beendet die JVM den ausführenden Thread. Löst also eine in main() aufgerufene Aktion eine RuntimeException aus, ist das das Ende für dieses Hauptprogramm.
Ihr Kommentar
Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.