logo search
SrrazOffpril_Vecher

7.1. Создание обработчика ошибок

Обработчик ошибок (error handler) – подпрограмма, предназначенная для перехватки ошибок и их обработки. Такие обработчики целесообразно добавлять к любой процедуре, где существует вероятность ошибки. Создание обработчика ошибок состоит из трех этапов:

1) включить перехват ошибок, указав в программе, в какую точку кода следует перейти при возникновении ошибки. Оператор On Error включает перехват ошибок и указывает метку строки, с которой начинается подпрограмма обработки ошибок;

2) написать подпрограмму обработки ошибок, реагирующую на все ошибки, которые можно предвидеть. Когда управление передается этой подпрограмме, считается, что обработчик ошибок стал активен;

3) предусмотреть выход из подпрограммы обработки ошибок (таблица 7.1).

Таблица 7.1

Способы выхода из подпрограммы обработки ошибок

Оператор

Описание

Resume[0]

Выполнение программы продолжается с инструкции, которая привела к ошибке. Данная инструкция используется для повторения операции после исправления ситуации, вызвавшей ошибку

Resume Next

Если ошибка возникла в процедуре, в которой находится обработчик, выполнение возобновляется с инструкции, следующей за той, что вызвала ошибку. Если ошибка возникла вне процедуры, в которой находится обработчик, выполнение возобновляется с инструкции, расположенной за вызовом внешней процедуры, вызвавшей ошибку (но только при отсутствии в той своего обработчика ошибок)

Resume метка

Выполнение программы продолжается с указанной метки в процедуре, содержащей данный обработчик ошибок

Err.Raise Number := номер

Эмулирует ошибку периода выполнения. Когда этот оператор выполняется в подпрограмме обработки ошибок, Visual Basic обращается к списку вызовов и пытается найти другой обработчик ошибок. Список вызовов – последовательность вызванных процедур, которая привела в данную точку потока управления