Раздел 10.2 - Описание исключений

Прежде, чем возбуждать, или управлять исключением, его необходимо описать. Описание исключения очень похоже на описание переменной типа exception; вот пример:

  Singularity : exception;

Для полноты приведем синтаксис описания исключения в BNF форме:

описание_исключения::=описание_списка_идентификаторов ": exception;"
описание_списка_идентификаторов::=идентификатор { "," идентификатор }

Как правило, описания исключений помещают в разделе описаний пакета.

Возбуждение исключения тоже просто реализуется - нужно использовать оператор возбуждения исключения. Этот оператор - это просто ключевое слово "raise" за которым следует имя исключения. Например, для возбуждения исключения "Singularity", описанного выше, нужно написать:

  raise Singularity;

Синтаксис в BNF следующий:

  оператор_возбуждения ::= "raise" [ имя_исключения ] ";"
  

Обратите внимание, что имя_исключения необязательно; мы обсудим смысл этого в следующем уроке.


Упражнение:

Что из приведенного ниже является описанием исключения с именем No_Safety_Net ?

  1. No_Safety_Net : exception;
  2. Exception : No_Safety_Net;

Вы можете также:

PREVIOUS Перейти к предыдущему разделу

NEXT     Перейти к следующему разделу

OUTLINE  Вернуться к содержанию Урока 10

David A. Wheeler (dwheeler@ida.org)

Перевод: Юрий Королев   Общая редакция перевода: Г.Ю. Сисюк

Исходная копия этого документа находится по адресу "http://www.adahome.com/Tutorials/Lovelace/s10s2.htm".

Исходная копия перевода размещена на сайте http://www.ada-ru.org