Java Reference
In-Depth Information
main
Anweisung1
Anweisung2
Aufruf Methode1
Anweisung3
...
Methode1
try {
Anweisung1
Aufruf Methode2
}
catch {
}
10
Methode2
Anweisung1
Aufruf Methode3
Methode3
Anweisung1 löst Exception aus
Anweisung2
Abbildung 10.4 Interne Abläufe beim Auftreten einer Exception
Abbildung 10.4 zeigt auf der linken Seite, welchen Weg der Programmablauf zurückge-
legt hat, bis er auf eine Anweisung trifft, die eine Exception auslöst. Das dabei erzeugte
Objekt wird dem Laufzeitsystem übergeben. Das Laufzeitsystem verfolgt nun den
zurückgelegten Weg in umgekehrter Richtung, wie auf der rechten Seite dargestellt, bis
es eine Methode mit Fehlerbehandlung ( catch ... ) findet. Die Fehlerbehandlung fängt
nun mit catch die Exception ab, und es werden die dort vom Programmierer festgeleg-
ten Anweisungen ausgeführt.
Abbildung 10.5 zeigt am Quellcode unseres Progamms Einkauf die entsprechenden
Abläufe.
In unserem Beispiel befindet sich unsere Fehlerbehandlung in der gleichen Methode, in
der auch die Exception ausgelöst wird. Dadurch muss das Laufzeitsystem keinen Weg
zurückverfolgen, um eine Fehlerbehandlung zu finden.
Befindet sich in der Methode, in der die Exception ausgelöst wird, keine Fehlerbehand-
lung, dann durchläuft das Laufzeitsystem den Aufrufweg in umgekehrter Richtung, bis
 
Search WWH ::




Custom Search