назад | содержание | вперед
Обработка ошибок
Обработка ошибок и неправильных действий пользователя — обязательная составляющая любого проекта. Для работы с ошибками в Visual Basic 6 есть специальный оператор on Error.
Существует несколько вариантов синтаксиса этого оператора. Первый вариант имеет вид:
On Error Go To StringLabel
где StringLabel — метка оператора. Она должна быть уникальной в пределах процедуры.
Метка оператора — это любое текстовое значение, начинающееся с буквы и завершающееся двоеточием. В этом варианте синтаксиса при возникновении ошибки программа будет переходить к оператору, следующему непосредственно за меткой StringLabel. Например, приведенный ниже код выполняет обработку ошибки:
On Error Go To ErrorLabel
текст кода процедуры ErrorLabel:
Call ErrorProcedure ()
End
В данном случае при возникновении ошибки будет выполняться оператор call ErrorProcedure о, вызывающий процедуру обработки ошибки.
Для игнорирования ошибки необходимо использовать следующий вариант оператора on Error:
On Error Resume Next
Для того чтобы отключить обработку ошибок в какой-либо процедуре, оператор on Error записывается в виде:
On Error Go To 0
При обработке ошибок хорошо бы выдать сообщение о том, что это за ошибка. Для этого предназначены перечисленные ниже встроенные возможности Visual Basic 6:
Для выполнения действии программы после обнаружения ошибки служит оператор Resume, который имеет различные варианты использования. Например:
При этом выполняется оператор, следующий за оператором с ошибкой.
где NextLabel — метка оператора, который будет выполняться после обработки ошибки.
Приведенный ниже код обрабатывает ошибки:
On Error Go To ErrorLabel
текст кода процедуры
ErrorLabel:
Call ErrorProcedure ()
Resume NextStatement
текст кода процедуры
NextStatement:
текст кода
При использовании этого варианта обработки ошибки выполнение программы не остановится, как в случае с предыдущим кодом, а будут выполняться операторы кода, расположенного после метки продолжения работы.
назад | содержание | вперед