Введение в программирование - Учебное пособие (Корочкин А. В.)

Глава 10. исключения

Надёжность - главная отличительная особенность языка, которая характеризовала Аду 83 и получила дальнейшее развитие в Аде 95. Исключения - одно из основных средств языка , обеспечивающих его высокую надежность.

Все ошибки в программах можно разделить на те, которые возника­ют на этапе компиляции программы, и те, которые возникают на этапе её выполнения.

На повышение эффективности выявление ошибок на этапе компиля­ции направлены многие механизмы языка, например, строгая типиза­ция. Однако, отсутствие ошибок на этапе компиляции не гарантирует, что ошибки не возникнут, при выполнении программы.

В Аде имеются средства, позволяющие обрабатывать ошибки, воз­никающие во время выполнения программы, а также реагировать на специально выбранные программные события. Они основаны на меха­низме, который получил название механизм исключений ( исключитель­ных ситуаций).

Концепция исключений в языке базируется на следующих понятиях и действиях^

1 . При_выполнении программы в случае возникновения исключитель­ной ситуации ( ошибки или заранее определенные события ) нормаль­ное выполнение программы прекращается и возбуждается исключе­ние.

2. Устанавливается связь между возникшим исключением и заранее определенным ( или предопределенным ) обработчиком данного исключения.

3. Управление передается обработчику исключения.

4. По завершению обработки исключения обработчиком управление не возвращается в точку возникновения исключения.

Обработчик исключения размещается в конце блока, подпрограм­мы, пакеты, задачи, защищенного модуля, оператора accept. Если в программном элементе, где произошла исключительная ситуация, от­сутствует обработчик исключения, то возможны два варианта:

•   работа этого программного элемента завершается аварийно;

•   обработка исключения осуществляется в другой части программы.

Во втором случае выполняется поиск соответствующего обработчи­ка исключения в других частях программы и передача ему управления. Такой процесс получил название распространение исключения.

Ада 95. Введение в программирование

106

Глава 10. Исключения

107

 

 

Наличие в языке средств работы с исключениями повышает эффек­тивность языка при разработке систем реального времени, в которых ошибки, возникающие при выполнении программы, не должны приво­дить к остановке в работе программы, управляющей, например, неко­торым объектом.