16.11.2013 Aufrufe

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

Programmieren in Java - HostFiXX.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

<strong>Programmieren</strong> <strong>in</strong> <strong>Java</strong><br />

wer<strong>de</strong>n. Es gibt fünf Typen von Ausnahmen, die <strong>in</strong> e<strong>in</strong>er throws-Klausel aufgelistet<br />

wer<strong>de</strong>n müssen:<br />

ClassNotFoundException<br />

IllegalAccessException<br />

InstantiationException<br />

InterruptedException<br />

NoSuchMethodException<br />

H<strong>in</strong>zu kommen verschie<strong>de</strong>ne weitere Ausnahmen aus <strong>de</strong>n <strong>Java</strong>-Paketen. So gibt es<br />

spezielle Fehlerklassen für die E<strong>in</strong>- und Ausgabe, die Netzwerkkommunikation o<strong>de</strong>r<br />

<strong>de</strong>n Zugriff auf Datenfel<strong>de</strong>r. Teilweise s<strong>in</strong>d sie <strong>de</strong>r Klasse „Error“ (o<strong>de</strong>r ihrer<br />

Subklasse RuntimeError) zugeordnet und müssen nicht extra abgefangen und<br />

dokumentiert wer<strong>de</strong>n. S<strong>in</strong>d Ausnahmen <strong>de</strong>r Klasse Exception (Ausnahme:<br />

RuntimeException) zugeordnet, dann müssen sie behan<strong>de</strong>lt wer<strong>de</strong>n (z.B. alle<br />

Ausnahmen von java.io).<br />

Die Klasse RuntimeException ist die Superklasse für die Behandlung aller<br />

Laufzeitfehler, die behan<strong>de</strong>lt wer<strong>de</strong>n können aber nicht müssen (die Entscheidung<br />

liegt beim Programmierer).<br />

UnknownError<br />

VirtualMach<strong>in</strong>eError<br />

OutOfMemoryError<br />

InternalError<br />

Error<br />

AWTError<br />

Object<br />

Throwable<br />

L<strong>in</strong>kageError<br />

ClassNotFoundException<br />

Exception<br />

RuntimeException<br />

EOFException<br />

IOException<br />

FileNotFoundException<br />

InterruptedException<br />

UTFDataFormatException<br />

Abb.: Fehlerklassenhierarchie<br />

Auslösen von Ausnahmen<br />

<strong>Java</strong> verfügt <strong>in</strong> se<strong>in</strong>en Standardbibliotheken über zahlreiche vorgefertigte<br />

Ausnahmen für fast alle Standardsitiuationen (z.B. Dateioperationen auf <strong>de</strong>r Basis<br />

<strong>de</strong>r IO-Exception). Selbst<strong>de</strong>f<strong>in</strong>ierte Ausnahmen benötigen e<strong>in</strong>e Subklasse von<br />

Exception. Das Auslösen dieser selbst<strong>de</strong>f<strong>in</strong>ierten Ausnahmen erfolgt über die throw-<br />

Anweisung: throw AusnahmeObjekt.<br />

Die Behandlung selbstausgelöseter Ausnahmen erfolgt nach <strong>de</strong>n üblichen Regeln:<br />

124

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!