Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций по КИТ.doc
Скачиваний:
3
Добавлен:
04.11.2018
Размер:
2.3 Mб
Скачать

Отладка программ

При написании программ пользователь независимо от его опыта допускает те или иные ошибки. Кто-то из мудрых совершенно верно подметил, что только тот, кто ничего не делает, не совершает ошибок. Позвольте перефразировать эту жизненную мудрость для изучаемого в данной книге предмета следующим образом: в программах не делал ошибок только тот, кто никогда не писал их. Итак, ошибки — это объективная неизбежность или реальное воплощение этой неизбежности. Какие же бывают ошибки и как с ними бороться? Условно ошибки можно поделить на три типа: ошибки компиляции, выполнения и логические ошибки.

Ошибки компиляции

Ошибки компиляции возникают, если VBA не может интерпретировать введенный код. Например, при некорректном вводе числа скобок, неправильном имени, неполном вводе инструкции и т. д. Некоторые из этих ошибок обнаруживаются УВА при завершении набора строки с инструкцией в редакторе кода и после нажатия клавиши <Enter>. Строка, в которой содержится ошибка, выделяется красным цветом, и на экране отображается диалоговое окно с сообщением о возможной причине, вызвавшей ошибку (рис. 12.5).

Рис. 12.5. Сообщение об ошибки компиляции, обнаруженной при вводе инструкции

Рис. 12.6. Сообщение об ошибке компиляции в диалоговом окне Microsoft Visual Basic

Другие ошибки компиляции обнаруживаются перед выполнением программы. Отметим, что VBA каждый раз автоматически компилирует программу при ее запуске на выполнение. В VBA предусмотрена также возможность компилировать программу без запуска на выполнение посредством команды Отладка, Компилировать (Debug, Compile). В этом случае предполагаемое местоположение ошибки выделяется синим цветом и на экране отображается диалоговое окно Microsoft Visual Basic с сообщением о возможной при чине, вызвавшей ошибку (рис. 12.6).

Ошибки выполнения

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

  1. Некорректная информация при считывании файла с диска.

  2. Некорректные данные, введенные пользователем, например требуется число, а пользователь вводит строковую информацию.

  3. Некорректность вычислений, например деление на ноль.

В этих и подобных случаях на экране отображается диалоговое окно Microsoft Visual Basic с сообщением о номере ошибки и возможной причине, ее вызвавшей (рис. 12.7).

Рис. 12.7. Сообщение об ошибке выполнения в диалоговом окне Microsoft Visual Basic

Если в диалоговом окне Microsoft Visual Basic нажать кнопку Отладка (Debug), то в строке модуля желтым цветом будет выделена строка, вызвавшая ошибку и по причине которой выполнение программы было прервано. Кроме того, эта строка будет помечена стрелочкой. При прерывании выполнения программы VBA переходит в режим прерывания. Одной из наиболее удобных возможностей режима прерывания являются возможность узнать текущее значение переменных и свойств. Для этого достаточно расположить указатель мыши на имени свойства или переменной. Это вы зовет появление всплывающей подсказки с текущим значением переменной или свойства. Из текста кода, изображенного на рисунке, видно, что значение переменной y равно 0, что и вызвало ошибку прерывания. Для задания режима вывода всплывающей подсказки с текущими значениями данных должен быть установлен флажок Подсказки значений данных (Auto Data Tips) диалогового окна Параметры (Options), вызываемого с помощью команды Сервис, Параметры (Tools, Options).