Russian Belarusian English German Japanese Ukrainian

Rashka.studio - игры и приложения для Android! Заходи, ждём тебя =)

Abort

CuBook05

В C++Builder имеется исключение EAbort, генерация которого, как и любых других, прерывает процесс вычисления. Но если приложение не отлавливает соответствующим блоком catch исключений этого класса, то они попадают в обработчик TApplicallon::HandleException и там, в отличие от других исключений, разрушаются без веских сообщений. Таким образом, это «молчаливое» прерывание процесса вычисления, при котором не должно отображаться диалоговое окно с сообщением об ошибке.
 
Простейший путь генерации исключения EAbort это вызов функции Abort. Например:
if (...) Abort();
Только нельзя путать две похожие внешне функции:
  • Abort - генерация «молчаливого» исключения
  • abort - аварийное завершение программы
Обычное применение EAbort прерывание вычислений при выполнении некоторого условия окончания или условия прерывания пользователем (например, при нажатии клавиши Esc или какого-то оговоренного сочетания клавиш). Функция Abort прерывает текущую процедуру и все вызвавшие ее процедуры, передавая управление на самый верх. Таким образом, это наиболее простой выход из глубоко вложенных процедур. Впрочем, можно при необходимости перехватить исключение на каком-то промежуточном уровне, предусмотрев на нем блок try...catch и вставив соответствующий оператор обработки:
catch(EAbort&)
{
...
}
Если заметили ошибку, выделите фрагмент текста и нажмите Ctrl+Enter

Добавить комментарий