Contents Index Search Related Documents Previous Next
11.3 Raise Statements
1
A raise_statement
raises an exception.
Syntax
2/2
raise_statement
::= raise;
|
raise exception_name [
with string_expression];
Legality Rules
3
The
name,
if any, in a
raise_statement shall
denote an exception.
A
raise_statement
with no
exception_name (that
is, a
re-raise statement) shall be within a handler, but not within
a body enclosed by that handler.
Name Resolution Rules
3.1/2
The expression,
if any, in a raise_statement, is
expected to be of type String.
Dynamic Semantics
4/2
To
raise an exception
is to raise a new occurrence of that exception, as explained in
11.4.
For the execution of a
raise_statement
with an
exception_name, the
named exception is raised. If a
string_expression
is present, a call of the value of the
expression
is associated with the exception occurrence.
For
the execution of a re-raise statement, the exception occurrence that
caused transfer of control to the innermost enclosing handler is raised
again.
Examples
5
Examples of raise
statements:
6/2
raise Ada.IO_Exceptions.Name_Error; -- see A.13
raise Queue_Error with "Buffer Full"; -- see 9.11
7
raise; -- re-raise the current exception
Contents Index Search Related Documents Previous Next Legal