Kapitel 10. Programmierkurs. Grundlagen von Exceptions Behandlung von Exceptions

Kapitel 10 Programmierkurs Exceptions Behandlung von Exceptions Der finally-Block catch or throw Birgit Engels Anna Schulze Zentrum f¨ ur Angewandte...
Author: Lothar Kuntz
1 downloads 0 Views 81KB Size
Kapitel 10

Programmierkurs Exceptions Behandlung von Exceptions Der finally-Block catch or throw

Birgit Engels Anna Schulze Zentrum f¨ ur Angewandte Informatik K¨ oln

WS 07/08

1 / 23

2 / 23

Grundlagen von Exceptions

Exceptions erm¨oglichen die strukturierte Behandlung von Fehlern, die w¨ahrend der Programmausf¨ uhrung auftreten Beispiele, in denen Exceptions verwendet werden: ◮



10.1 Behandlung von Exceptions

Laufzeitfehler, weil ein Array-Zugriff außerhalb der definerten Grenzen erfolgte Eine Datei, die ge¨offnet werden soll, wird nicht gefunden

3 / 23

4 / 23

Die try-catch-Anweisung try { Anweisung; } catch (Exception x) { Anweisung; } catch (Exception y) { Anweisung; } Der try-Block enth¨alt dabei Anweisungen, bei deren Ausf¨ uhrung ein Fehler des Typs Ausnahmetyp auftreten kann. In diesem Fall wird die normale Programmausf¨ uhrung unterbrochen und der Programmablauf f¨ahrt mit der ersten Anweisung nach der catch-Klausel fort, die den passenden Ausnahmetyp deklariert hat

10.2 Der finally-Block

5 / 23

Der finally-Block

6 / 23

Der finally-Block

Der finally-Block wird immer dann ausgef¨ uhrt, wenn die try-Klausel betreten wurde

D.h. der finally-Block wird ausgef¨ uhrt, wenn der try-Block durch eine der folgenden Anweisungen verlassen wurde:

try

Das normale Ende des try-Blockes wurde erreicht

{

Eine Exception ist aufgetreten, die durch eine catch-Klausel behandelt wurde

Anweisung; }

Eine Exception ist aufgetreten, die nicht durch eine catch-Klausel behandelt wurde

catch(Exception e) {

Der try-Block wurde durch eine der Sprunganweisungen breack, continue oder return verlassen

Anweisung; }

Die finally-Klausel ist also der Ort, um Aufr¨aumarbeiten durchzuf¨ uhren. Z.B. k¨ onnen Dateien geschlossen werden.

finally { Anweisung; }

7 / 23

8 / 23

Die throw-Anweisung catch or throw Regel: Entweder die Exception wird durch catch behandelt Oder durch throw weitergegeben Dazu wird an des Ende des Methodenkopfes das Schl¨ usselwort throw mit einer Liste aller Ausnahmen, die nicht behandelt werden sollen, angeh¨angt.

10.3 catch or throw

public static void SqrtTable() throws ArithmeticException { double x=-1.0; while(x