- (1)
- An exception_declaration declares a name for an exception.
(2)
exception_declaration ::= defining_identifier_list : exception;
Static Semantics
- (3)
- Each single exception_declaration declares a name for a different
exception. If a generic unit includes an exception_declaration, the
exception_declarations implicitly generated by different instantiations of
the generic unit refer to distinct exceptions (but all have the same
defining_identifier). The particular exception denoted by an exception name
is determined at compilation time and is the same regardless of how many
times the exception_declaration is elaborated.
- (4)
- The predefined exceptions are the ones declared in the declaration of
package Standard: Constraint_Error, Program_Error, Storage_Error, and
Tasking_Error; one of them is raised when a language-defined check fails.
Dynamic Semantics
- (5)
- The elaboration of an exception_declaration has no effect.
- (6)
- The execution of any construct raises Storage_Error if there is
insufficient storage for that execution. The amount of storage needed for
the execution of constructs is unspecified.
Examples
- (7)
- Examples of user-defined exception declarations:
(8)
Singular : exception;
Error : exception;
Overflow, Underflow : exception;
-- Email comments, additions, corrections, gripes, kudos, etc. to:
Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12