Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М.у. л.р. Программирование на VB 2005.docx
Скачиваний:
29
Добавлен:
09.11.2018
Размер:
1.76 Mб
Скачать

Обработка ошибок времени выполнения

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

Обработка ошибок производится в три этапа:

  • Подготовка перехвата. Выполняется с помощью оператора On Error. Оператор On Error активизирует режим обработки ошибок. Это означает, что при возникновении ошибки выполнения программа не прерывается и стандартное сообщение об ошибке не выводится. Оператор On Error осуществляет передачу управления на подпрограмму обработки ошибок, которая может выдавать сообщение и продолжать работу программы. Возможны три варианта синтаксиса оператора:

On Error GoTo метка -

передача управления на подпрограмму, идентифицирующуюся меткой;

On Error Resume Next -

ошибка игнорируется, и управление передается следующему оператору за тем, при выполнении которого возникла ошибка;

On Error GoTo 0 -

отключает предусмотренную пользователем процедуру обработки ошибок и включает стандартный механизм.

Для перехвата всех возможных ошибок оператор On Error должен находиться в начале процедуры.

  • Проверка и устранение ошибки. Это этап обработки ошибки, на котором возникшая ошибка анализируется, и выполняются соответствующие действия. Установить тип ошибки можно с помощью объекта Err. Свойства объекта Err позволяют получить следующую информацию о последней ошибке выполнения:

свойство Number – номер возникшей ошибки;

свойство Source - имя проекта, в котором возникла ошибка;

свойство Description - строка с описанием ошибки;

свойство HelpFile - полное имя файла справки.

После того как обнаруженная ошибка обработана, в процедуре нужно предусмотреть очистку свойств объекта Err. Очищает значения всех свойств объекта Err метод Clear.

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

  • Продолжение выполнения программы. Выполняется с помощью оператора Resume. Оператор Resume передает управление из обработчика ошибок в программу. Возможны следующие варианты синтаксиса оператора:

Resume [0] -

повторное выполнение оператора, вызвавшего ошибку;

Resume Next -

выполнение следующего оператора за тем, при выполнении которого возникла ошибка;

Resume метка -

выполнение оператора, помеченного меткой.