Проверка и устранение ошибки

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

Ожидаемые ошибки времени выполнения_ 1

Подготовка перехвата 1

Проверка и устранение ошибки 1

Продолжение выполнения программы_ 2

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

Обработка ошибок при вложенных вызовах процедур_ 3

Глобальная обработка ошибок 4

Неожиданные ошибки выполнения_ 4

В идеальном случае программа не должна бороться с ошибками в период выполнения. Однако разработчик должен предусмотреть вероятность появления сбойных файлов, переполнения памяти или ввода пользователем некорректных данных. Все это может послужить причиной возникновения ошибок при выполнении программы (Runtime Errors).

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

Среда разработки относительно мягко реагирует на ошибки периода выполнения. Если же такая ошибка возникает после запуска выполняемого exe-файла, то приложение немедленно закрывается. Хотя сообщение об ошибке и появляется, перейти в режим отладки невозможно. Это драматическая реакция, возможно, на совершенно безобидную ошибку.

Перехват ошибок периода выполнения следует предусмотреть на этап разработки приложения. Для этого создаются специальные процедуры – обработчики ошибок (error handlers). Все ошибки периода выполнения можно разделить на две группы: ожидаемые, обработка которых предусмотрена разработчиком, и неожиданные, появление которых не всегда могут предвидеть даже опытные программисты.

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

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

O подготовка перехвата;

O проверка и устранение ошибки;

O продолжение выполнения программы.

Подготовка перехвата

Первым шагом является расстановка ловушек. В Visual Basic для этого предназначен оператор On Error, синтаксис которого имеет вид:

On Error GoTo label | Resume Next | GoTo 0

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

Метка (label), указанная в операторе, должна находиться в той же процедуре, что и оператор On Error. Если в качестве метки указан ноль (0), то предусмотренная разработчиком процедура обработки ошибок отключается и включается стандартный механизм обработки ошибок. Опция Resume Next подробно описывается в следующем разделе.

Проверка и устранение ошибки

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

Обработка ошибки должна выполняться сразу после ее обнаружения. Сначала следует установить тип ошибки. Для этого в Visual Basic существует объект Err, свойство которого Number содержит код последней возникшей ошибки. Для совместимости с предыдущими версиями Visual Basic свойство Number объекта Err является свойством по умолчанию.

Список кодов ошибок, которые можно перехватывать и обрабатывать, вы найдете в системе справок Visual Basic. После определения типа ошибки по коду (свойство Number объекта Err) следует попытаться устранить ошибку или обработать ее так, чтобы она не мешала выполнению программы.

Поиск и устранение всех ошибок Windows. Как исправить ошибку?


Похожие статьи.

Понравилась статья? Поделиться с друзьями: