Перехват и обработка ошибок
Из диалогового окна Microsoft Visual Basic видно, что каждая ошибка имеет свой код. В табл. 12.1 приведены коды наиболее часто встречаемых ошибок, Таблица 12.1. Коды наиболее часто встречаемых ошибок.
Код Сообщение
5 Приложение запущено
б Переполнение
7 Не хватает памяти
9 Индекс выходит за пределы допустимого диапазона
11 Деление на нуль
13 Несоответствие типа
18 Произошло прерывание, вызванное пользователем
52 Неправильное имя файла или идентификатор
53 Файл не найден
54 Неверный режим работы с файлом
55 Файл уже открыт
56 Ошибка ввода-вывода
61 Переполнение диска
68 Устройство недоступно
71 Диск не готов
72 Повреждена поверхность диска
335 Невозможен доступ к системным ресурсам
368 Истек срок действия данного файла. Программе требуется файл более новой версии
482 Ошибка принтера
В идеале разрабатываемое приложение не должно никогда аварийно прерываться. В приложении следует создать средства перехвата любой возможной ошибки, обработать ее, выдать сообщение пользователю и обеспечить безаварийное продолжение работы приложения. Обычно конструкция перехвата ошибок имеет следующую структуру.
Инструкция On Error | Производит перехват ошибки. Устанавливает, что программа должна делать в случае появления ошибки. |
Подпрограмма обработки ошибки | В этой подпрограмме определяется тип возникшей ошибки и устанавливается, что программа должна делать в зависимости от типа ошибки. Допустимы следующие синтаксисы.
Синтаксис 1: On Error GoTo строка Активизирует подпрограмму обработки ошибок, начало которой определяется обязательным аргументом строка, значением которого может быть либо метка строки, либо номер строки.
Синтаксис 2: On Error Resume Next Указывает, что при возникновении ошибки происходит передача управления на инструкцию, непосредственно следующую за инструкцией, где возникла ошибка.
Синтаксис 3: On Error GoTo 0 Отключает любой активизированный обработчик ошибок в текущей процедуре. |
Инструкция Resume | Обеспечивает процедуре возможность продолжить работу после обработки ошибки.
Допустимы следующие синтаксисы.
Синтаксис 1: Resume После обработки ошибки управление передается той инструкции, в которой произошла ошибка.
Синтаксис 2: Resume строка После обработки ошибки управление передается инструкции, определенной аргументом строка. Значением этого аргумента может быть любая метка строки или номер строки.
Синтаксис 3: Resume Next После обработки ошибки управление передается инструкции, следующей за инструкцией, в которой произошла ошибка. |
Инструкция Exit | Останавливает выполнение процедуры. Допустимые синтаксисы:
- Exit Sub - Exit Function - Exit Property |
Подпрограмма обработки ошибки обычно включает объект Err, который содержит информацию об ошибках выполнения. Приведем свойства и методы объекта Err.
- 3 Семестр
- Оглавление
- Язык программирования Visual Basic for Application Основные средства и возможности vba Основные элементы vba
- Основы программирования на vba Типы данных
- Описание переменных
- Допустимые имена
- Инструкция Def Тип
- Массивы
- Динамические массивы
- Функции и процедуры для работы с массивами
- Константы
- Тип данных, определенный пользователем
- Операции vba
- Приоритеты операций
- Встроенные функции vba
- Математические функции
- Функции проверки типов
- Функции преобразования форматов
- Функции обработки строк
- Функции времени и даты
- Функции выбора
- Функции, возвращающие строки
- Встроенные диалоговые окна
- Инструкции vba
- Оператор присвоения
- Перенос строки
- Комментарии
- Расположение нескольких операторов на одной строке
- Операторы перехода и выбора
- Операторы повтора
- Условная компиляция
- Процедура
- Переход в подпрограмму и возвращение из подпрограммы
- Вызов процедуры
- Рекурсивные процедуры
- Область определения переменной
- Время жизни переменной
- Процедуры обработки ошибок и отладка программ Разработка процедур, предотвращающих появление ошибок
- Перехват и обработка ошибок
- Свойства объекта Err
- Методы объекта Err
- Отладка программ
- Ошибки компиляции
- Ошибки выполнения
- Логические ошибки
- Инструкция Option Explicit
- Пошаговое выполнение программ
- Точка останова
- Вывод значений свойств и переменных
- Работа с файлами Типы файлов в vba
- Открытие и закрытие файла
- Ввод данных в файл последовательного доступа
- Вывод данных из файла последовательного доступа
- Работа с файлом произвольного доступа
- Наиболее употребляемые инструкции и функции при работе с файлами
- Объект FileSearch
- Элементы управления и пользовательская форма Элементы управления
- Режим конструктора
- Установка свойств элемента управления
- Редактор кода
- Пользовательская форма UserForm
- Семейство Controls
- Создание пользовательской формы
- Общие свойства элементов управления
- Соглашения об именах
- Общие методы и события элементов управления
- Объект DataObject
- Надпись
- Заполнение списка
- Выбор нескольких элементов из списка
- Поле со списком
- Полоса прокрутки и счетчик
- Переключатель
- Флажок и выключатель
- Ссылки на ячейки и диапазоны
- Набор страниц
- Набор вкладок
- Дополнительные элементы управления
- Последовательность выбора элементов управления
- Инициализация и отображение диалогового окна
- Закрытие диалогового окна
- Отображение встроенных диалоговых окон
- Открытие документа
- Объект Application
- Свойства объекта Application
- Методы объекта Application
- События объекта Application
- Объект Workbook и семейство Workbooks
- Свойства объекта Workbook и семейства Workbooks
- Методы объекта Workbook и семейства Workbooks
- События объекта Workbook и семейства Workbooks
- Объект Worksheet и семейство Worksheets
- Свойства объекта Worksheet и семейства Worksheets
- Методы объекта Worksheet и семейства Worksheet
- События объекта Worksheet
- Объекты Range и Selection
- Адресация ячеек
- Задание групп строк и столбцов с помощью объекта Range
- Связь объекта Range и свойства Cells
- Свойства и методы объекта Range
- Программирование панели инструментов
- Объект CommandBar и семейство CommandBars
- Семейство CommandBarControls и объект CommandBarControl
- Пример создания панели инструментов пользователя
- Пример создания строки меню пользователя
- Создание пользовательской панели инструментов вручную
- Удаление элемента управления из панели инструментов вручную
- Удаление пользовательской панели инструментов вручную
- Назначение вручную макроса кнопке
- Изменение и создание вручную изображения на кнопке
- Программирование средств для работы со справочной информацией
- Структура помощника
- Типы помощника
- Свойства объекта Assistant
- Объект Balloon