|
10.7.3 Ausnahmen in Prozessen
In Prozessen können die selben Ausnahmen auftreten wie in anderen
Ada-Programmeinheiten. Zusätzlich tritt im Zusammenhang mit Rendezvous
noch eine weitere Ausnahme "Tasking_Error" auf.
"Tasking_Error" wird in folgenden Situationen ausgelöst:
- an der Aktivierungsstelle eines Meisters, wenn im Vereinbarungsteil
der Task eine Ausnahme ausgelöst wird.
- in einem aufrufendem Prozeß an der Eingangsaufrufstelle, wenn
der aufgerufene Prozeß bereits fertig ausgeführt ist oder wenn
der aufgerufene Prozeß im Rendezvous anormal wurde (vgl. Abort-Anweisung)
Beim Weiterreichen von Ausnahmen bei Prozessen treten aber Unterschiede
zum bereits bekannten Verfahren auf. Bei einer nicht behandelten Ausnahme
im Ablaufteil eines Prozesses außerhalb eines Rendezvous nimmt der
Prozeß den Zustand "fertig ausgeführt" an, ohne daß
irgendein Hinweis (automatisch, durch die Laufzeitumgebung) generiert
wird. Daher sollte jeder Prozeß zumindest eine "default"-Ausnahmebehandlung
enthalten, damit eine unvorhergesehene und somit unbekannte Beendigung
eines Prozesses nicht zu unbeabsichtigten Reaktionen des Ada-Programms
führt.
|