11.3 Raise Statements
raise_statement ::= raise
| raise exception_name
if any, in a raise_statement
shall denote an exception.
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
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, the expression
is evaluated and its value 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 of raise
Ada.IO_Exceptions.Name_Error; -- see A.13
"Buffer Full"; -- see 9.11
raise; -- re-raise the current exception