11.4 Exception Handling

1

When an exception occurrence is raised, normal program
execution is abandoned and control is transferred to an applicable exception_handler,
if any. To handle an exception occurrence
is to respond to the exceptional event. To propagate
an exception occurrence is to raise it again in another context; that
is, to fail to respond to the exceptional event in the present context.

Dynamic Semantics

2

Within a
given task, if the execution of construct a is defined by this
International Standard to consist (in part) of the execution of construct
b, then while b is executing, the execution of a
is said to dynamically enclose the execution of b. The
innermost dynamically enclosing execution of a given execution
is the dynamically enclosing execution that started most recently.

3

When
an exception occurrence is raised by the execution of a given construct,
the rest of the execution of that construct is abandoned; that
is, any portions of the execution that have not yet taken place are not
performed. The construct is first completed, and then left, as explained
in 7.6.1. Then:

4

If the construct is a task_body,
the exception does not propagate further;