Операторы выхода
Оператор выхода используется для окончания выполнения объемлющего оператора цикла (называемого в дальнейшем просто циклом); окончание может быть условным, если оператор выхода содержит условие.
оператор-выхода ::= exit [ имя-цикла][ when условие];
Оператор выхода с именем цикла допустим только в именованном цикле и приманив юя к этому циклу; оператор выхода без имени цикла допускается в некотором цикле и применяется к самому внутреннему объемлющему циклу (именованному или нет). Кроме этого, применяемый к конкретному циклу оператор выхода не должен появляться в теле подпрограммы, теле пакета, теле задачи, в настраиваемом теле или в операторе принятия, если эта конструкция вложена в рассматриваемый цикл.
Для выполнения оператора выхода сначала вычисляется условие, если оно есть. Выход из цикла происходит, если значением условия является TRUE или условие отсутствует.
Примеры:
for N in 1 .. MAXJMUMJTEMS loop
GET_NEW_ITEM(NEW_ITEM); MERGE_ITEM(NEW_ITEM, STORAGE_FILE); exit when NEW_ITEM = TERMINAL_ITEM; end loop;
MAIN_CYCLE: loop
-- начальные операторы
exit MAINCYCLE when FOUND; -- заключительные операторы
end loop MAINCYCLE;
Примечание.
Выход из нескольких вложенных циклов можно осуществить с помощью оператора выхода с именем внешнего цикла.
Ссылки:
вычисление 4.5, имя цикла 5.5, логическое значение 3.5.3, настраиваемое тело 12.1, оператор принятия 9.5, оператор цикла 5.5, тело пакета 7.1, тело подпрограммы 6.3, условие 5.3.
Пред. | Уровень выше | След. | |
5.6. ОПЕРАТОРЫ БЛОКА
|
Содержание |
5.8. ОПЕРАТОРЫ ВОЗВРАТА |