русс | укр

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

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

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

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


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

Exit Sub


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


ОбработкаОшибок:

. . .

Resume Next

End Sub

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

Системные ошибки при вызовах библиотек динамической компоновки (DLL) не приводят к возникновению исключений и не перехватываются средствами Visual Basic. При вызове функций из библиотек DLL необходимо проверять, успешно ли возвращается каждое значение (согласно спецификациям API), и в случае неудачи проверять значение свойства LastDLLError объекта Err.

Оператор Resume используется для продолжения выполнения кода с указанной строки. Эта инструкция может использоваться только в процедурах обработки ошибок. Она имеет несколько форматов (Resume, Resume Next, Resume Строка).

Инструкция Error имитирует возникновение ошибки с кодом, переданным ей в качестве аргумента, заполняет свойства объекта Err значениями по умолчанию, после чего вызывает обработчик ошибок. Эта инструкция поддерживается для совместимости с предыдущими версиями. В новой программе, в особенности при создании объектов, следует применять для создания ошибок выполнения метод Raise объекта Err.

Функция CVErr используется для преобразования числового значения, переданного функции в качестве аргумента, в код ошибки. Возвращает значение типа Variant с подтипом Error, содержащее код ошибки, указанный пользователем.

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



При использовании этой функции неявное преобразование значения Error не допускается. Например, не допускается прямое присвоение возвращаемого значения CVErr переменной с типом, отличным от Variant. Однако имеется возможность выполнить явное преобразование (с помощью CInt, CDbl и т.п.) значения, возвращаемого CVErr, и присвоить это значение переменной с соответствующим типом данных.

В приведенном ниже примере функция WhichRange проверяет введенное пользователем строковое значение переменной UserText на возможность его преобразования в число, принадлежащее диапазону от 1 до 10. Если преобразование не может быть выполнено или полученное число не попадает в заданный диапазон, в качестве результата вырабатывается код ошибки.

Sub CVErr_Example()

Dim VarResult As Variant

Dim UserText As String

‘ Код для ввода значения переменной UserText:

…………………………………….

‘ Вызов функции для преобразования значения переменной:

VarResult = WhichRange(UserText)

‘ Проверка, является ли результат кодом ошибки:

If IsError(VarResult) Then

MsgBox Prompt := “Нужно ввести число от 1 до 10”, _ Title := “Ошибка ввода”

Else

MsgBox Prompt := “Введено число ” & Str(VarResult)

End If



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


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


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

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

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


 


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

 
 

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

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