ПОИСК
Категории книг
ОПРОС
Вопрос: Какой язык программирования вы предпочитаете
С/C++
Delphi
Visual Basic
Perl
Java
PHP
ASP
Другой
ЭТО ПОЛЕЗНО!
ОБРАТНАЯ СВЯЗЬ

/ Главная / Программирование / Иллюстрированный самоучитель по Visual Basic 6.0
Иллюстрированный самоучитель по Visual Basic 6.0

Ch 10.htm

назад | содержание | вперед

Обработка ошибок

Обработка ошибок и неправильных действий пользователя — обязательная составляющая любого проекта. Для работы с ошибками в 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:

  • служебная переменная Err, которая содержит код ошибки;
  • служебная переменная Error, которая содержит текст системного сообщения об ошибке;
  • объект Err, который содержит одновременно код и сообщение об ошибке.

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

  • Resume Next

    При этом выполняется оператор, следующий за оператором с ошибкой.

  • On Resume NextLabel

    где NextLabel — метка оператора, который будет выполняться после обработки ошибки.

Приведенный ниже код обрабатывает ошибки:

On Error Go To ErrorLabel

текст кода процедуры

ErrorLabel:

Call ErrorProcedure ()

Resume NextStatement

текст кода процедуры

NextStatement:

текст кода

При использовании этого варианта обработки ошибки выполнение программы не остановится, как в случае с предыдущим кодом, а будут выполняться операторы кода, расположенного после метки продолжения работы.

 

назад | содержание | вперед


Компьютерные книги © 2006-2013
computers.plib.ru