9.5. Обработка ошибок
При написании кода VBA-программы безусловно могут быть допущены ошибки или случайные описки. Многие из подобных случайных ошибок редактор VBA автоматически отслеживает непосредственно во время написания или редактирования программного кода. Более сложные логические ошибки можно обнаружить компилятором при выполнении процедуры — он проверяет код процедуры на наличие ошибок непосредственно перед преобразованием программы в форму, понятную для компьютера. Если операция компиляции не будет успешной, появится окно с уведомлением об ошибке.
Данный уровень проверки намного строже, чем обычная проверка синтаксиса в каждой строке кода, так как на этом этапе проверяется правильность ссылок и тип переменных, а каждый оператор проверяется на корректность всех его параметров.
Однако ту часть ошибок, которые все еще остались необнаруженными компилятором придется отыскивать самостоятельно. Самыми простыми ошибками, с которыми вы непременно столкнетесь при написании процедур VBA, являются ошибки синтаксиса (syntax error). Если при написании программного кода была допущена синтаксическая ошибка, редактор VBA сообщит об этом сразу, не дожидаясь момента выполнения программы.
Всякий раз, когда редактор VBA не сможет понять и корректно интерпретировать введенную в строку последовательность символов в качестве того или иного оператора, этот текст будет выделен красным цветом. При попытке перейти с такой строки на другую, редактор VBA выдаст сообщение о наличии ошибки с теми или иными разъяснениями. Для того чтобы описанный выше режим был активизирован, следует выбрать команду меню Tools => Options редактора VBA и в раскрывшемся диалоговом окне Option (Параметры) на вкладке Editor (Редактор) установить флажок опции Auto Syntax Check (автоматическая проверка синтаксиса).
Обнаруживая многие ошибки синтаксиса, редактор VBA информирует о пропущенных запятых, кавычках и т.д. Однако некоторые синтаксические ошибки редактор может обнаружить только тогда, когда программа начнет выполняться — например, если в операторе была указана ссылка на несуществующую в программе метку. Сообщение о такой ошибке будет выдано, когда начнется выполнение программы.
Подобные ошибки следует исправлять сразу же, как только редактор VBA их обнаруживает. В некоторых боле сложных случаях редактор VBA не может определить, что именно неверно в синтаксис данного оператора, и только сообщает о наличии неопознанной им ошибки.
Кроме ошибок компиляции, т.е. синтаксических ошибок, существуют еще и логические ошибки — неточности и несоответствия, допущенные при разработке самого алгоритма, воплощённого в программе. При наличии подобных ошибок программа делает не то, что было запланировано, или делает что-то не так, как это ожидалось. Причиной таких несоответствий чаще всего являются ошибки, заложенные в неверной логике алгоритма программы. Тогда не следует искать ошибки в записи операторов; необходимо еще раз тщательно продумать саму структуру программы и уточнить алгоритм ее поведения. Когда правильное решение будет найдено, вы обязательно получите требуемый результат.
Существует еще третий вид ошибок — это ошибки выполнения. Такие ошибки приводят к останову выполнения программы вследствие непредсказуемых ошибок в обрабатываемых данных или в действиях пользователя. Они вызывают возникновение непредусмотренных в программе ситуаций. Такие виды ошибок далеко не всегда поддаются легкому обнаружению и исправлению. Здесь на помощь к разработчику приходят различные методы тестирования программ с последующей отладкой.
Вывод: чем тщательнее будет проведено тестирование, тем устойчивее и надежнее будет работать написанная вами программа.
Тестовые задания
Ниже приведено несколько тестовых заданий, предназначенных для закрепления изложенного в этой главе материала. В каждом задании вам предлагается вопрос и несколько вариантов ответа на него, один (или несколько) из которых является правильным, остальные — нет. Укажите правильный ответ.
№ п/п | Вопросы | Предлагаемые ответы |
1 | Общий цикл создания VBА-программ предусматривает такую последовательность действий: | а) анализ задачи, написание программного кода, тестирование и отладка, б) проектирование программы, написание программного кода, тестирование, отладка, в) анализ задачи, проектирование программы, реализация проекта, тестирование и отладка, г) анализ задачи, проектирование программы, написание программного кода, передача приложения в эксплуатацию. |
2 | Программными единицами, с которыми может работать редактор VBA, являются: | а) проекты, модули, процедуры, операторы, б) проекты, программы, макросы, в) программы, модули, процедуры, операторы, г) проекты, программы, модули, процедуры. |
3 | Обмен программными модулями между проектами осуществляется с помощью следующих операций: | а) копирования и вставки, б) экспорта и импорта файлов, в) совместного редактирования и слияния, г) пересылки и считывания. |
4 | Запуск VBA-программ можно организовать с помощью… | а) ярлыка на рабочем столе, б) сочетания клавиш, набираемых в окне VBA-приложения, в) кнопки на панели инструментов, г) команды в меню Пуск, д) команды в меню VBA-приложения. |
5 | Редактор VBA позволяет автоматически обнаруживать следующие виды ошибок в программах: | а) орфографические, б) синтаксические, в) логические, г) структурные. |
6 | Комментарии в программу помещаются для следующих целей: | а) для повышения "читабельности" кода, б) для пояснения смысла выполняемых действий, в) для защиты авторских прав, г) для описания назначения переменных и функций. |
- Теоретические разделы курса “информатика”
- Введение
- Раздел 1. Базовые понятия курса “информатика” Глава 1. Введение в экономическую информатику
- Информационные процессы в экономике. Основные понятия информатики и информатизации
- Информация и данные
- Экономическая информация и ее свойства
- Классификация экономической информации
- Структура экономической информации
- Оценка экономической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 2. Программные средства реализации информационных процессов
- 2.1. Назначение и классификация программного обеспечения
- 2.2.1. Базовое программное обеспечение
- 2.2.2. Классификация операционных систем
- 2.2.3. Сервисное программное обеспечение
- 2.3. Инструментарий технологии программирования
- 2.4. Состав и назначение прикладного программного обеспечения
- 2.4.2. Методо-ориентированные пакеты прикладных программ
- 2.4.3. Пакеты прикладных программ общего назначения
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 3. Технические средства реализации информационных процессов
- 3.1. Техническая основа реализации информационных процессов
- Эволюция компьютерных информационных технологий
- Арифметико-логическое устройство
- Устройство управления и интерфейс
- Процессорная память
- 3.2. Поколения электронных вычислительных машин
- 3.3. Классификация технических средств обработки информации
- 3.4. Персональные компьютеры
- 3.5. Структурная схема персонального компьютера
- Системная шина
- Контроллеры Системная плата
- 3.6. Принципы функционирования персонального компьютера
- Установка адреса начальной команды
- 3.7. Основные архитектурные схемы вычислительных систем
- Память команд
- Память команд
- Память команд
- Память данных
- Память команд
- 3.8. Режимы работы компьютеров
- 3.9. Информация в технических устройствах
- Единицы измерения памяти
- Вопросы для самоконтроля
- Контрольные тесты
- Глав 4. Способы представления информации в компьютерах
- 4.1. Системы счисления
- 4.1.1. Позиционные системы счисления
- Системы счисления
- 4.1.2. Перевод чисел из одной системы счисления в другую
- 4.1.3. Двоичная, восьмеричная и шестнадцатеричная системы счисления
- Представление чисел в двоичной, восьмеричной и шестнадцатеричной системах счисления
- 4.1.4. Выполнение арифметических операций в двоичной, восьмеричной и шестнадцатеричной системах счисления
- Сложение в двоичной системе
- Сложение в восьмеричной системе
- Сложение в шестнадцатеричной системе
- 4.2. Представление числовой информации. Прямой, обратный и дополнительный коды числа
- Диапазон значений целых чисел без знака
- Диапазон значений целых чисел со знаком
- 4.3. Представление символьной информации
- 4.4. Представление графической информации
- Вопросы для самоконтроля
- Контрольные тесты
- Глава 5. Логические основы построения персональных компьютеров
- 5.1. Аппарат алгебры логики
- Базовые логические операции
- 5.2. Основные аксиомы и законы алгебры логики
- 5.3. Логические элементы персональных компьютеров
- 5.4. Логические устройства с памятью
- Вопросы для самоконтроля
- Контрольные тесты
- Раздел 2. Основы алгоритмизации и программирования
- Глава 6. Понятие алгоритма и его основные формы
- 6.1. Алгоритм и его свойства
- 6.2. Формы представления алгоритма
- 1. Начало
- 8. Конец
- 6.3. Базовые алгоритмические структуры
- 6.3.2. Ветвящаяся (разветвлённая) структура
- Опер-р 1
- Опер-р 2
- Опер-р 20
- I нач.Знач.
- 6.4. Этапы развития программирования
- Глава 7. Объектно-ориентированное программирование в среде vba (Visual Basic for Application).
- 7.1. Что такое vba?
- 7.2. Основные понятия и элементы языка vba: объекты, свойства, методы, события, классы объектов
- 1. Объекты
- 3. Классы объектов
- Суперкласс
- Глава 8. Макросы в приложениях ms Office
- 8.1. Понятие макроса
- 8.2. Процесс создания макроса
- 8.3. Запуск макроса на исполнение
- АкБарсБанк
- 8.4. Код (текст) программы макроса и пояснения к нему
- 8.5. Корректировка макросов
- 8.6. Сохранение макросов в виде модулей
- Глава 9. Создание и выполнение vba – программ
- 9.1. Понятие об общем цикле создания vba – программы
- 9.2. Общие принципы построения vba-программы
- 9.3. Написание новых макросов и процедур
- 9.4. Выполнение vba-программы
- 9.5. Обработка ошибок
- Глава 10. Основные элементы языка программирования vba
- 10.1 Типы данных в vba.
- 10.2. Переменные vba.
- 10.3. Объявление переменных
- 10.4. Область действия переменной
- 10.5. Присвоение значения переменной
- 10.6. Константы
- 10.7. Массивы
- 10.7.1. Одномерные массивы
- 10.7.2. Многомерные массивы
- 10.8. Статические и динамические массивы
- 10.9. Структура текста программы и комментарии
- Глава 11. Примеры реализации различных макросов и фрагментов программ
- 11.1. Варианты реализации макросов
- 11.1.1. Порядок создания макросов в Excel
- 11.1.2. Задания на создание макросов в Excel
- 11.2. Варианты реализации разветвляющихся алгоритмов
- 11.3. Варианты реализации циклических алгоритмов
- 11.4. Вариант реализации смешанного алгоритма
- Раздел 3. Основы информационной безопасности
- Глава 12. Введение в информационную безопасность
- 12.1. Понятие информационной безопасности
- 12.2. Угрозы безопасности информации
- 12.3. Объекты и элементы защиты информации в компьютерных системах обработки данных
- Глава 13. Методы и средства защиты информации
- 13.1. Механизмы, методы и средства защиты информации
- 13.2. Средства опознания и разграничения доступа к информации
- 13.3. Криптографические методы защиты информации
- 13.3.1. Основные понятия криптографии
- 13.3.2. Криптографические ключи и методы защитных преобразований
- 13.3.3. Криптографические системы
- 13.4. Электронная цифровая подпись
- Глава 14. Компьютерные вирусы и спам
- 14.1. Понятие вредоносных программ
- 14.2. Понятие компьютерного вируса
- 14.3. Классификация компьютерных вирусов
- 14.4. Программы борьбы с компьютерными вирусами
- 14.5. Меры и средства защиты от компьютерных вирусов
- 14.6. Защита от спама
- Глава 15. Защита информации в корпоративных системах
- 15.1. Цели и задачи корпоративной системы информационной безопасности
- 15.2. Политики информационной безопасности
- 15.2.1. Основные понятия политик безопасности
- 15.2.2. Основные причины создания политик безопасности
- 15.2.3. Разработка политик безопасности
- 15.2.4. Пример постановки задачи разработки политики информационной безопасности предприятия
- 15.2.5. Особенности разработки политик безопасности в России
- 15.3. Аудит безопасности корпоративных систем Интенет/Интранет
- 15.3.1. Понятие аудита безопасности
- 15.3.2. Аудит безопасности для корпоративных пользователей
- 15.3.3. Возможности аудита безопасности
- 15.3.4. Практические шаги аудита безопасности
- 15.4. Проектирование системы обеспечения информационной безопасности предприятия
- Список литературы
- Содержание