next up previous
Next: 3.8 Timing issue Up: 3 Action semantics at Previous: 3.6.4 Procedure lookup

3.7 Exception actions

When the execution of an action enters an abnormal state, another action takes the control flow and the original action is aborted.

There are two kinds of exception actions: exceptions and interrupts. When an error occurs in an action, an exception of a certain type is generated, and the run-time system looks for a handler to handle it. If the action has an exception handler table, the system matches the exception in the table to find an action to handle it; if no action matches, the exception is propagated to the outer context, until it is handled.

Interrupts are signals that force the current action to stop and change the control flow to another action. It is possible to base the choice of new control flow on the current state of the object. Interrupts do not propagate.



Thomas Feng 2003-04-18