Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Предотвращение ошибок программными средствамиСодержание книги
Поиск на нашем сайте Рассмотрим программу, которая вычисляет обратное число и выводит его на экран: Sub ОбратноеЧисло() Dim x As Double Dim y As Double x = CDbl(InputBox("Введите число:")) y = 1/x MsgBox "Обратное число:" & y End Sub где: С Dbl – функция преобразования типов (строковое значение преобразуется в число типа Double). Даже в этой простой программе имеются свои подводные камни, - например, пользователь по невнимательности забудет ввести число, или введет его неправильно (символ вместо числа, десятичную точку вместо десятичной запятой), или введет ноль. Во всех этих случаях произойдет аварийное завершение программы и программа выдаст сообщение об ошибке: либо о несоответствии типов (Рис. 11‑1), либо о делении на ноль (Рис. 11‑2).
Чтобы избежать этого, необходимо модернизировать программу таким образом, чтобы она предотвращала перечисленные ошибки. Например, так: Sub ОбратноеЧисло() Dim x As Double Dim y As Double Dim Число As String Число = InputBox("Введите число:") ‘Функция IsNumeric проверяет, является ли введенная _ последовательность числом: If IsNumeric(Число) = False Then MsgBox "Некорректный ввод исходного значения!", _ vbExclamation, "Обратное число" Exit Sub End If x = CDbl (Число) If CDbl (Число) = 0 Then MsgBox "Деление на ноль запрещено!", vbExclamation, _ "Обратное число " Exit Sub End If y = 1/x MsgBox "Обратное число:" & y End Sub Попробуем теперь решить эту проблему с помощью перехвата ошибок и их обработки. Для этого предназначена инструкция On Error. Обработка ошибок, инструкция On Error Инструкция On Error может быть записана следующим образом:
Объект Err Процедура обработки ошибок обычно включает объект Err, который содержит всю информацию о последней ошибке. Рассмотрим два важнейших свойства объекта Err:
Пример: ОбработкаОшибок: MsgBox "Произошла ошибка: " & Cstr(Err.Number) & “-“ & _ Err.Description, vbInformation, “Cообщение об ошибке” Объект Err имеет свои методы:
Напишем программу ОбратноеЧислоError, в которой ошибки обрабатываются с помощью конструкции On Error.
Обратите внимание на 10-ю строку кода, которая обеспечивает выход из процедуры перед активизацией обработчика ошибок. В случае её отсутствия управление передается на следующую команду, т.е. будет выведено сообщение об ошибке, даже если её и нет. 13-я строка кода приведена лишь в учебных целях, для неискушенного пользователя она не понятна!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Последнее изменение этой страницы: 2021-12-15; просмотров: 78; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.136 (0.006 с.) |