Руководство по Ada (Ada 2022)
11.1 Объявления исключений
Объявление exception_declaration объявляет имя исключения.
Синтаксис
Статическая семантика
Каждое отдельное объявление exception_declaration объявляет имя для разного исключения. Если генерический блок содержит объявление exception_declaration, то объявления exception_declaration, неявно сгенерированные разными инстанциациями генерического блока, относятся к различным исключениям (но все имеют одно и то же defining_identifier). Конкретное исключение, обозначаемое именем исключения, определяется во время компиляции и остается неизменным независимо от того, сколько раз обрабатывается объявление exception_declaration.
Предопределённые исключения — это те, которые объявлены в объявлении пакета Standard: Constraint_Error, Program_Error, Storage_Error и Tasking_Error; одно из них возбуждается, когда происходит сбой языковой проверки.
Динамическая семантика
Обработка объявления exception_declaration не имеет эффекта.
Выполнение любого блока вызывает Storage_Error, если памяти недостаточно для этого выполнения. Необходимый объём памяти для выполнения блоков не определён.
Примеры
Примеры объявлений пользовательских исключений:
Singular : exception;
Error : exception;
Overflow, Underflow : exception;
Error : exception;
Overflow, Underflow : exception;