русс | укр

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

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

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

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


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

Централизованный обработчик ошибок


Дата добавления: 2015-07-23; просмотров: 580; Нарушение авторских прав


Вместо того чтобы включать обработчик ошибок в каждую процедуру, можно создать централизованный обработчик ошибок - отдельную функцию, которая будет перехватывать ошибки, а затем, основываясь на номере ошибки, выполнять те или иные действия. Но все равно каждая процедура, в которой предусмотрена обработка ошибок, будет иметь оператор On Error. При возникновении ошибки этот оператор обращается к процедуре обработки ошибок, для которой функция-централизованный обработчик ошибок возвращает число, определяемое типом ошибки. Затем с помощью оператора Select Case выбирается оператор, осуществляющий выход из обработчика ошибок. Возможны следующие операторы выхода. (Оператор Resume описан выше.)

  • Оператор Resume.
  • Оператор Resume Next.
  • Оператор Resume метка.
  • Оператор Exit - выход из процедуры.
  • Оператор End - завершение приложения.

Обычно в локальную процедуру обработки ошибки функция-централизованный обработчик возвращает целое значение из интервала от 1 до 5 (как показано ниже), но это не правило, и вы можете создать свой централизованный обработчик, который будет более дифференцированно различать типы ошибок.

Опишем процесс создания централизованного обработчика ошибок.

  1. Добавьте новый модуль в рабочую книгу и создайте функцию с именем HandleErrors.
  2. Функция HandleErrors имеет следующий код:

Function HandleErrors(iErrNum) As Integer

Select Case iAction

Case 5

'Неправильный вызов процедуры

MsgBox Error(iErrNum) & "Обратитесь к справке"

iAction =2

Case 7

'He хватает оперативной памяти

MsgBox "Закройте все неиспользуемые приложения"

iAction = 1

Case 11

'Деление на ноль

MsgBox "Деление на ноль. Введите другое значение"

iAction = 1

Case 48,49,51

'Ошибка загрузки библиотек DLL

MsgBox iErrNum & "Обратитесь к справке"



iAction = 5

Case 57

'Ошибка ввода-вывода

MsgBox "Вставьте дискету в дисковод А:"

iAction = 1

Case Else

MsgBox "Неопознанная ошибка"

iAction = 5

End Select

ErrorHandle = iAction

End Function

  1. Перейдите в процедуру ПримерОбработчик (она находится в другом модуле).
  2. Приведите код этой процедуры к следующему виду (изменения в коде выделены полужирным шрифтом):

Public Sub ПримерОбработчик()

Dim sngValue As Single, sngDivideBy As Single

Dim sngAnswer As Single

Dim iResponse As Integer

On Error GoTo ErrorZone

sngValue = InputBox("Введите делимое")

sngDivideBy = InputBox("Введите делитель")

sngAnswer = sngValue / sngDivideBy

MsgBox "Результат деления = " & sngAnswer

Exit Sub

ErrorZone:

'Оператор Select использует значения,

'возвращаемые функцией HandleErrors



<== предыдущая лекция | следующая лекция ==>
Выход из обработчика ошибок | Select Case HandleErrors(Err)


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


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

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

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


 


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

 
 

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

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