Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lector5(Stud).doc
Скачиваний:
3
Добавлен:
02.05.2019
Размер:
181.25 Кб
Скачать

2.5 Отключение обработки ошибок

Если в процедуре был включен перехват ошибок, он автоматически отключается по завершении этой процедуры. Но в отдельных случаях нужно отключить перехват ошибок при выполнении процедуры. Для этого предназначен оператор On Error GoTo 0. С его помощью можно отключит перехват ошибок в любом месте процедуры – даже в подпрограмме обработки ошибок.

Включенные обработчики ошибок часто мешают отладке программы. Обработчики можно отключить на период отладки с тем, чтобы при каждой ошибке отладчик переходил в режим прерывания. Для этого в редакторе Visual Basic предусмотрен на закладке General (Общие) в диалоговом окне Options (Свойства) меню Tools (Сервис) переключатель Break on All Errors (При любой ошибке). Если переключатель не установлен, то сообщение об ошибке может не появиться – все зависит от того, где возникла ошибка.

2.6 Общие принципы отладки

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

Чтобы понять, насколько полезна отладка, следует рассмотреть три основных вида ошибок, возникающих в процессе обработки событий:

  1. ошибки компиляции – появляются при неправильно написанном коде;

  2. ошибки периода выполнения – возникают (и обнаруживаются Visual Basic) при выполнении программы. Частая их причина – попытка выполнить неправильную операцию, например, деление на ноль;

  3. логические ошибки – программа работает не так, как задумал разработчик. Она может быть написана синтаксически верно, работать корректно (т.е. не выполнять недопустимых операций), но выдавать неправильные результаты.

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

Отладка в основном помогает понять, что происходит при выполнении программы. Средства отладки дают своего рода моментальный снимок текущего состояния программы, включая значения переменных, выражений и свойств, а также список активных вызовов процедур.

В числе многих отладочных средств в Visual Basic предусмотрен набор полезных инструментов, доступных посредством панели Debug (Отладка) (таблица 2.3).

Таблица 2.3 - Назначение инструментов панели Debug (Отладка)

Средство отладки

Назначение

Run/Continue

(Запуск/Продолжение)

Переключает из режима конструктора в режим выполнения или из режима прерывания в режим выполнения

Break (Прервать)

Останавливает выполнение программы и переключает в режим прерывания

Reset (Сброс)

Переключает из режима прерывания или выполнения в режим конструктора

Toggle Breakpoint (Точка останова)

Устанавливает или удаляет в текущей строке точку останова, в которой приостанавливается выполнение программы

Step Into

(Шаг с заходом)

Выполняет следующую строку программы с заходом в процедуры

Step Over

(Шаг с обходом)

Выполняет следующую строку программы без захода в процедуры (полностью выполняя их)

Step Out

(Шаг с выходом)

Выполняет оставшуюся часть текущей процедуры и останавливает программу на следующей строке вызывающей процедуры

Locals Window (Окно локальных переменных)

Открывает окно с текущими значениями локальных переменных

Immediate Window (Проверка)

Позволяет выполнить операторы или узнать значения переменных в режиме прерывания

Watch Window (Окно контрольного значения)

Открывает окно с текущими значениями выбранных выражений

Quick Watch (Контрольное значение)

Показывает текущее значение выражений в режиме прерывания

Call Stack

(Стек вызовов)

Открывает диалоговое окно со списком вызванных, но еще не завершенных процедур в режиме прерывания

Для того, чтобы избежать ошибок в программах, существует несколько способов:

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

- необходимо подробно комментировать код и назначение каждой процедуры;

- по возможности следует явно ссылаться на объекты, объявляя их так, как они показаны в списке Classes (Классы) окна просмотра объектов, и не использовать для этого типы Variant и Object;

- необходимо разработать четкую схему именования переменных и объектов в программе;

- часто проблемы возникают из-за ошибок в именах переменных или использования одного элемента управления вместо другого. Чтобы избежать ошибок в именах переменных, необходимо установить флажок Option Explicit (Явное описание переменных).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]