русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Методы объекта Err


Дата добавления: 2013-12-24; просмотров: 801; Нарушение авторских прав


Свойства объекта Err

 

Number Возвращает код ошибки
Source Имя текущего проекта VBA
Description Возвращает строковое выражение, содержащее текст сообщения об ошибке
HelpFile Полное имя (включает диск и путь) файла справки VBA
HelpContext Контекстовый идентификатор файла справки VBA, соответствующий ошибке с кодом, указанным в свойстве Number
LastDllError Содержит системный код ошибки для последнего вызова библиотеки динамической компоновки (DLL)

 

 

 

Clear Очищает все значения свойств объекта Err. Метод Clear используется для явной очистки значений свойств объекта Err после завершения обработки ошибки. Это необходимо, например, при отложенной обработке ошибки, которая задается инструкцией On Error Resume Next
Raise Создает ошибку выполнения. Используется при моделировании ситуаций ошибки.   Синтаксис: Raise number, source, description, helpfile, helpcontext   Аргументы: - number — номер ошибки, т.е. целое число от 0 до 65535 - source — строковое выражение, определяющее имя объекта или приложения, в котором возникла ошибка - description — строковое выражение, содержащее описание ошибки - helpfile — полное имя (включая диск и путь) файла справки Microsoft Windows содержащего описание данной ошибки - helpcontext — контекстный идентификатор, определяющий соответствующий обрабатываемой ошибке раздел в файле, указанном в аргументе helpfile

 

На конкретном примере покажем, как применяется объект Err при создании обработчика ошибок. В предыдущем разделе в процессе создания диалогового окна Деление и связанной с ним программы, на первый взгляд были предусмотрены все возможные ошибки. Но это только на первый взгляд. Введем, например, в поле Знаменатель значение le-40. Это число ничем не лучше или не хуже любого другого числа типа Single Тем не менее, вместо вывода результата произойдет аварийное прерывание выполнения программ мы с отображением сообщения об ошибке переполнения. Усовершенствуем программу с учетом возможности обработки подобной ошибки. В обработчике ошибок предусмотрим два отклика:



 

- Пользователь информируется программой в случае появления ошибки переполнения, знаменателю и числителю присваиваются 1 и с этими данными проводятся вычисления.

- При появлении ошибки, отличной от ошибки переполнения, выполнение программы прерывается с информированием пользователя об ошибке (рис 12.4).

 

Рис. 12.4. диалоговое окно с указанием типа ошибки

 

Private Sub CommandButton1_Click()

Dim Числитель, Знаменатель, Результат As Single

 

‘ Передача управления на обработчик ошибок,

‘ помеченный меткой Обработка

 

On Error GoTo Обработка

 

‘ Проверка, является ли числитель числом

 

If IsNumeric(TextBox1.Text) = False Then

MsgBox “Ошибка в числителе”,

vbInformation, “деление”

TextBox1.SetFocus

Exit Sub

End If

 

‘ Проверка, является ли знаменатель числом

 

If IsNumeric(TextBox2.Text) = False Then

MsgBox “Ошибка в знаменателе”,

vbInformation, “деление”

TextBox2.SetFocus

Exit Sub

End If

 

‘ Проверка, не является ли знаменатель нулем

 

If СDbl(TextBox2.Text) = 0 Then

MsgBox “Знаменатель не может быть нулем”,

vbInformation, “деление”

TextBox2.SetFocus

Exit Sub

End If

 

Числитель = CDbl(TextBox1.Text)

Знаменатель = CDbl(TextBox2.Text)

Результат = Числитель / Делитель

TextBox3.Text = CStr(Результат)

 

‘ Выход из процедуры в случае успешного нахождения результата

 

Exit Sub

 

‘ Обработчик ошибок

 

Обработка:

Select Case Err.Number

 

‘ Обработка ошибки переполнения

 

Case Is = 6

MsgBox “Произошла ошибка переполнения”,

vbInformation, “Деление”

TextBox1.Text = 1

TextBox2.Text = 1

Знаменатель = 1

Числитель = 1

Resume

 

‘ Обработка любой другой ошибки

 

Case Else

MsgBox “Произошла ошибка: “ & Err.Description &

vbInformation, “Деление”

Exit Sub

End Select

End Sub

 

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

 



<== предыдущая лекция | следующая лекция ==>
Перехват и обработка ошибок | Ошибки выполнения


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.005 сек.