Rheinwerk Computing < openbook > Rheinwerk Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort
1 Java ist auch eine Sprache
2 Imperative Sprachkonzepte
3 Klassen und Objekte
4 Der Umgang mit Zeichenketten
5 Eigene Klassen schreiben
6 Exceptions
7 Äußere.innere Klassen
8 Besondere Klassen der Java SE
9 Generics<T>
10 Architektur, Design und angewandte Objektorientierung
11 Die Klassenbibliothek
12 Einführung in die nebenläufige Programmierung
13 Einführung in Datenstrukturen und Algorithmen
14 Einführung in grafische Oberflächen
15 Einführung in Dateien und Datenströme
16 Einführung in die <XML>-Verarbeitung mit Java
17 Einführung ins Datenbankmanagement mit JDBC
18 Bits und Bytes und Mathematisches
19 Die Werkzeuge des JDK
A Die Klassenbibliothek
Stichwort

Download:
- Aufgaben, ca. 1,1 MB
- Programme, ca. 12,8 MB

Buch bestellen
Ihre Meinung?

Spacer
Java ist auch eine Insel von Christian Ullenboom
Das umfassende Handbuch
Buch: Java ist auch eine Insel

Java ist auch eine Insel
Galileo Computing
1308 S., 10., aktualisierte Auflage, geb., mit DVD
ca. 49,90 Euro, ISBN 978-3-8362-1802-3
Pfeil 6 Exceptions
Pfeil 6.1 Problembereiche einzäunen
Pfeil 6.1.1 Exceptions in Java mit try und catch
Pfeil 6.1.2 Eine NumberFormatException auffangen
Pfeil 6.1.3 Ablauf einer Ausnahmesituation
Pfeil 6.1.4 Eigenschaften vom Exception-Objekt
Pfeil 6.1.5 Wiederholung abgebrochener Bereiche *
Pfeil 6.1.6 Mehrere Ausnahmen auffangen
Pfeil 6.1.7 throws im Methodenkopf angeben
Pfeil 6.1.8 Abschlussbehandlung mit finally
Pfeil 6.2 RuntimeException muss nicht aufgefangen werden
Pfeil 6.2.1 Beispiele für RuntimeException-Klassen
Pfeil 6.2.2 Kann man abfangen, muss man aber nicht
Pfeil 6.3 Die Klassenhierarchie der Fehler
Pfeil 6.3.1 Die Exception-Hierarchie
Pfeil 6.3.2 Oberausnahmen auffangen
Pfeil 6.3.3 Schon gefangen?
Pfeil 6.3.4 Alles geht als Exception durch
Pfeil 6.3.5 Zusammenfassen gleicher catch-Blöcke mit dem multi-catch
Pfeil 6.4 Harte Fehler: Error *
Pfeil 6.5 Auslösen eigener Exceptions
Pfeil 6.5.1 Mit throw Ausnahmen auslösen
Pfeil 6.5.2 Vorhandene Runtime-Fehlertypen kennen und nutzen
Pfeil 6.5.3 Parameter testen und gute Fehlermeldungen
Pfeil 6.5.4 Neue Exception-Klassen deklarieren
Pfeil 6.5.5 Eigene Ausnahmen als Unterklassen von Exception oder RuntimeException?
Pfeil 6.5.6 Ausnahmen abfangen und weiterleiten *
Pfeil 6.5.7 Aufrufstack von Ausnahmen verändern *
Pfeil 6.5.8 Präzises rethrow *
Pfeil 6.5.9 Geschachtelte Ausnahmen *
Pfeil 6.6 Automatisches Ressourcen-Management (try mit Ressourcen)
Pfeil 6.6.1 try mit Ressourcen
Pfeil 6.6.2 Ausnahmen vom close() bleiben bestehen
Pfeil 6.6.3 Die Schnittstelle AutoCloseable
Pfeil 6.6.4 Mehrere Ressourcen nutzen
Pfeil 6.6.5 Unterdrückte Ausnahmen *
Pfeil 6.7 Besonderheiten bei der Ausnahmebehandlung *
Pfeil 6.7.1 Rückgabewerte bei ausgelösten Ausnahmen
Pfeil 6.7.2 Ausnahmen und Rückgaben verschwinden: Das Duo »return« und »finally«
Pfeil 6.7.3 throws bei überschriebenen Methoden
Pfeil 6.7.4 Nicht erreichbare catch-Klauseln
Pfeil 6.8 Den Stack-Trace erfragen *
Pfeil 6.8.1 StackTraceElement
Pfeil 6.8.2 printStackTrace()
Pfeil 6.8.3 StackTraceElement vom Thread erfragen
Pfeil 6.9 Assertions *
Pfeil 6.9.1 Assertions in eigenen Programmen nutzen
Pfeil 6.9.2 Assertions aktivieren
Pfeil 6.10 Zum Weiterlesen

Rheinwerk Computing - Zum Seitenanfang

6.2 RuntimeException muss nicht aufgefangen werdenZur nächsten Überschrift

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.)


Rheinwerk Computing - Zum Seitenanfang

6.2.1 Beispiele für RuntimeException-KlassenZur nächsten ÜberschriftZur vorigen Überschrift

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.

Tabelle 6.1: RuntimeException-Klassen

Unterklasse von RuntimeException Was den Fehler auslöst
ArithmeticException Ganzzahlige Division durch 0
ArrayIndexOutOfBoundsException Indexgrenzen wurden missachtet, etwa durch (new int[0])[1]. Eine ArrayIndexOutOfBoundsException ist neben StringIndexOutOfBoundsException eine Unterklasse von IndexOutOfBoundsException.
ClassCastException Typanpassung ist zur Laufzeit nicht möglich. So löst (java.util.Stack) new java.util.Vector() eine ClassCastException mit der Meldung »java.util.Vector cannot be cast to java.util.Stack« aus.
EmptyStackException Der Stapelspeicher ist leer. new java.util.Stack().pop() provoziert den Fehler.
IllegalArgumentException Eine häufig verwendete Ausnahme, mit der Methoden falsche Argumente melden. Integer.parseInt("tutego") löst eine NumberFormatException, eine Unterklasse von IllegalArgumentException, aus.
IllegalMonitorStateException Ein Thread möchte warten, hat aber den Monitor nicht. Ein Beispiel: new String().wait();
NullPointerException Meldet einen der häufigsten Programmierfehler, beispielsweise durch ((String) null).length().
UnsupportedOperationException Operationen sind nicht gestattet, etwa durch java.util.Arrays.asList(args).add("chris").

Rheinwerk Computing - Zum Seitenanfang

6.2.2 Kann man abfangen, muss man aber nichtZur vorigen Überschrift

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.

>> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Java ist auch eine Insel





Java ist auch eine Insel
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Java ist auch eine Insel






 Java ist auch
 eine Insel


Zum Katalog: Java SE Bibliotheken






 Java SE Bibliotheken


Zum Katalog: Professionell entwickeln mit Java EE 7






 Professionell
 entwickeln mit
 Java EE 7


Zum Katalog: Einstieg in Eclipse






 Einstieg in
 Eclipse


Zum Katalog: Einstieg in Java






 Einstieg in
 Java


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo




Copyright © Rheinwerk Verlag GmbH 2011
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de