![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Исключительная ситуация (исключение) — это некоторая ситуация в программе, которая требует специальной обработки. К таким ситуациям относятся ошибки времени выполнения программы, например, деление на ноль или попытка чтения информации из несуществующего файла.
При возникновении исключительной ситуации Delphi создает экземпляр некоторого класса, в зависимости от характера произошедшей ошибки.
Все такие классы являются наследниками класса Exception (англ. Exception — исключение), что позволяет им быть «узнаваемыми» для Delphi. Механизм исключений состоит в досрочном прерывании подпрограммы или метода объекта, в которых произошла ошибка, и поиск обработчика исключения в этой подпрограмме (реализация обработчиков описана ниже).
Если обработчик не найден, то управление передается подпрограмме, вызвавшей ту подпрограмму, в которой произошла исключительная ситуация. В вызвавшей подпрограмме также производится поиск обработчика, и в случае его отсутствия управление передается следующей подпрограмме по стеку вызова подпрограмм.
Искомый обработчик должен обрабатывать именно те виды исключений, объект которого создан во время возникновения ошибки. Если ни в одной из подпрограмм стека вызова не будет найден обработчик, то исключение передается в стандартный обработчик исключений, автоматически создаваемый в программе. В этом случае на экран будет выдан диалог с сообщением об ошибке, а программа продолжит свое выполнение в ожидании действий пользователя.
Если же в одной из подпрограмм найден обработчик соответствующих исключений, то управление передается ему, а дальнейший путь работы программы определяется обычным образом.
Дата публикования: 2014-11-02; Прочитано: 1395 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!