Ада-95. Компилятор GNAT


Исключение Program_Error


Исключение Program_Error возбуждается в следующих случаях:

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

    так и не встретив инструкцию возврата (return ...)

  • при межзадачном взаимодействии во время выполнения инструкции отбора с ожиданием (select ...), когда все альтернативы закрыты и отсутствует раздел else

Кроме того, это исключение может возбуждаться в случае возникновения ошибки элаборации.

procedure Program_Demo is

Z : Integer;

function Y(X : Integer) return Integer is

begin

if X < 10 then

return X; elsif X < 20 then

return X end if; end Y; -- если мы попали в эту точку, то это значит, -- что return не был выполнен

begin

Z := Y(30); end Program_Demo;




- Начало -  - Назад -  - Вперед -



Книжный магазин