Exception Declarations
Author: JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor

Contents Index Search Previous Next

# 11.1 Exception Declarations

1
An exception_declaration declares a name for an exception.

#### Syntax

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;`

Contents Index Search Previous Next Legal