- •Представление информации
- •Представление символов
- •Представление целых чисел (способ с фиксированной точкой)
- •Представление чисел с дробной частью (способ с плавающей точкой)
- •Некоторые важные итоги
- •О Visual Basic (далее vb) в сравнении с другими языками.
- •Основные типы данных vb
- •Типы Byte/Integer/Long
- •Типы Single/Double/Currency
- •Структура проекта
- •Переменные
- •Область видимости переменных
- •Время жизни переменных
- •Константы
- •Преобразование и совместимость типов
- •Ввод и вывод значений переменных Ввод данных с помощью функции InputBox
- •Вывод данных с помощью инструкции Print
- •Форматирование вывода
- •Лекция 6 Вывод данных с помощью функции MsgBox
- •Управление порядком выполнения инструкций
- •Условная инструкция If ... End If
- •Однострочный синтаксис
- •Блочный синтаксис
- •Инструкция выбора Select Case (выбрать в случае)
- •Инструкции цикла
- •1. Параметрический цикл For… Next
- •Лекция 7
- •2. Итерационный циклDoWhile...LoopилиDo...LoopWhile
- •3. Итерационный цикл Do Until...Loop или Do...Loop Until
- •Операции и функции
- •Лекция 8 Массив
- •1. Описание массива фиксированного размера
- •2. Описание динамического массива
- •3. Присвоение массивов
- •Лекция 9
- •Логические операции
- •Лекция 10 процедуры и функции
- •Виды процедур и функций
- •Вызов процедур и функций
- •Объявление процедур и функций
- •Именованные аргументы
- •Область действия имен процедур и функций
- •Пример 1.
- •Пример 2.
- •Лекция 11
- •Лекция 12
- •Перечень подзадач
- •Блок-схема алгоритма функции Проверка
- •Разработка программы
- •Лекция 13 Пример 4
- •Передача аргументов по ссылке и по значению
- •Лекция 14 Отладка
- •1. Режим отладки
- •2. Точка останова
- •3. Пошаговое выполнение программы
- •3.1. Шаг с заходом (Step into)
- •3.2. Шаг с обходом (Step Over)
- •3.3. Шаг с выходом (Step Out)
- •3.4. Выполнить до текущей позиции (Run To Cursor)
- •3.5. Список вызовов
- •4. Окна режима отладки
- •4.1. Окно подсказки Data Tips
- •4.2. Окно контрольного значения (WatchWindow)
- •4.3. Окно локальных переменных (LocalWindow)
- •4.4. Окно отладки (ImmediateWindow)
- •4.5. Инструкция Print
- •5. Обработка ошибок времени выполнения
- •5.1. Перехват ошибки
- •5.2 Проверка и устранение ошибки
- •5.3 Продолжение выполнения программы
- •Лекция 15 Пользовательский тип данных
- •ИнструкцияWith
- •Использование в качестве аргументов процедур и функции имен форм и элементов управления
- •Знаки типов
- •Графика
- •1. Система координат
- •1.1 Свойство ScaleMode
- •1.2. СвойстваScaleLeftиScaleTop
- •Лекция 16
- •1.3. СвойстваScaleWidthиScaleHeigt
- •1.4. МетодScale
- •2. Графические изображения
- •3. Графические управляющие элементы
- •4. Работа с рисунками
- •5. Графические методы
- •6. Построение графиков функций
- •Лекция 17 Файлы
- •Номер файла
- •Типы доступа к файлам
- •Последовательный доступ
- •Чтение из файла последовательного доступа
- •Запись в файл последовательного доступа
- •Произвольный доступ
- •Открытие файла
- •Ввод и вывод (Get- чтение,Put- запись)
- •Двоичный доступ
- •Открытие файла для двоичного доступа
- •Ввод и вывод
- •Лекция 18 События
- •События клавиатуры
- •Объекты, классы, коллекции
- •Экзаменационные вопросы
5.1. Перехват ошибки
В VBдля этого предназначена инструкцияOn Error, которая обычно помещается в начале процедуры или функции.
On Error GoTo Метка
On Error Resume Next
On Error GoTo 0
Выполнение инструкции On Errorактивизирует режим обработки ошибок. Это означает, что при возникновении ошибки периода выполнения после ввода в программу этой строки выполняются предусмотренные в программе инструкции обработки ошибки. Выполнение программы не прерывается и стандартное сообщение об ошибке не выводится.
Метка, указанная в инструкции GoTo, должна находиться в той же процедуре, что и инструкцияOn Error. Она указывается в отдельной строке и представляет собой имя, после которого ставится двоеточие. При возникновении ошибки управление будет передано на инструкцию, стоящую ниже метки.
Инструкцию Resume Nextможно использовать вместе с инструкциейOn Error, и тогда каждая строка, вызвавшая ошибку, игнорируется, так как управление передается на следующую инструкцию.
Если в качестве метки указан ноль (0), то предусмотренная разработчиком обработка ошибок отключается и включается стандартный механизм обработки ошибок.
5.2 Проверка и устранение ошибки
Инструкция On Errorне выполняет непосредственно никакой обработки ошибок, а лишь передает управление ответственному за обработку ошибок фрагменту программы. Обычно метка находится в конце процедуры и перед ней помещается инструкцияExitSubилиExitFunction. Благодаря этой инструкции, при безошибочном выполнении процедура в этом месте завершает свою работу, и фрагмент процедуры после метки выполняется только после возникновения ошибки.
Обработка ошибки должна выполняться сразу после ее обнаружения. Сначала следует установить тип ошибки. Для этого в VisualBasicсуществует объектErr, свойство которогоNumberсодержит код последней возникшей ошибки. СвойствоDescriptionэтого окна содержит текстовое сообщение о последней ошибке.
Пример.
Dim ErrNum1 As Integer
ErrNum1 = Err.Number
Список кодов ошибок, которые можно перехватывать и обрабатывать, вы найдете в системе справок VB. После определения типа ошибки по ее коду (свойствоNumberобъектаErr) следует попытаться устранить ошибку или обработать ее так, чтобы она не мешала выполнению программы. Например, при делении на нуль это может быть прекращение текущих вычислений. При ошибках обращения к диску может отображаться диалоговое окно для принятия пользователем решения о прекращении операции или повторном выполнении.
5.3 Продолжение выполнения программы
Завершив обработку ошибки, следует продолжить нормальное выполнение программы. Инструкция Resumeпозволяет вернуться в строку, вызвавшую ошибку, для ее повторного выполнения, а операторResume Nextвозвращает в следующую строку за строкой с ошибкой.
Процедура с обработчиком ошибок может выглядеть следующим образом:
Sub Error_Test()
Dim E As Single
On Error GoTo ErrLabel
'Включает обработку ошибок
For i = 4 То 0 Step -1
Е = 2 / I
'Вызывает деление на нуль
Next
Exit Sub
ErrLabel: 'Метка
Select Case Err.Number 'Проверка ошибки
Case 11 'Деление на нуль
i = -1
Err.Clear
Resume 'Возврат
Case Else
MsgBox (Err.Description)
Stop
End Select
End Sub
Свойство DescriptionобъектаErrвозвращает текст системного описания ошибки. Это можно использовать для вывода текста сообщения об ошибке в обработчике ошибок, поскольку системный вывод сообщения об ошибке при использовании обработчика ошибок не производится.