Buffl

8.2

CP
von Cansu P.

Erklären Sie die drei Alternativen des Umgangs mit Exceptions in Java sowie den Unterschied zwischen checked und unchecked Exceptions.

Java bietet mit der Klasse Exception ein objektorientiertes Konzept zur Ausnahmebehandlung, ergänzt um vordefinierte Standard-Exceptions wie ArithmeticException, ArrayIndexOutOfBoundsException und NullPointerException. Beim Umgang mit einer Exception gibt es drei Alternativen: (1) Sie wird innerhalb der Methode mit einem try/catch-Block abgefangen und behandelt, ohne dass das aufrufende Programm informiert wird. (2) Sie wird mittels throws in der Methodensignatur an das aufrufende Programm weitergeleitet, das sie dann selbst per try/catch fängt und z. B. über getMessage() die Fehlermeldung ausliest. (3) Sie wird zunächst intern abgefangen und mit throw als neue Exception mit einer spezifischen, kontextbezogenen Fehlermeldung erneut geworfen. Zu einem try-Block können mehrere catch-Blöcke definiert werden, die der Reihe nach auf Passung geprüft werden; ein allgemeiner catch-Block für Exception fängt dabei alle nicht spezifisch behandelten Ausnahmen ab. Ein finally-Block wird unabhängig vom Auftreten einer Exception immer ausgeführt und eignet sich für zwingend notwendige Aufräumarbeiten. Nicht alle Exceptions müssen zwingend abgefangen werden: "Unchecked" Exceptions (Unterklassen von RuntimeException, z. B. alle Standard-Exceptions aus Tabelle 18) können, müssen aber nicht behandelt werden; alle anderen, sogenannte "checked" Exceptions – einschließlich selbst definierter Exceptions – müssen zwingend abgefangen werden.

Author

Cansu P.

Informationen

Zuletzt geändert