Предотвращение ошибок программными средствами
Рассмотрим программу, которая вычисляет обратное число и выводит его на экран:
Sub ОбратноеЧисло()
Dim x As Double
Dim y As Double
x = CDbl(InputBox("Введите число:"))
y = 1/x
MsgBox "Обратное число:" & y
где: СDbl – функция преобразования типов (строковое значение преобразуется в число типа Double).
Даже в этой простой программе имеются свои подводные камни, - например, пользователь по невнимательности забудет ввести число, или введет его неправильно (символ вместо числа, десятичную точку вместо десятичной запятой), или введет ноль. Во всех этих случаях произойдет аварийное завершение программы и программа выдаст сообщение об ошибке: либо о несоответствии типов (Рис. 11‑1), либо о делении на ноль (Рис. 11‑2).
Рис. 11‑1. Ошибка несоответствия типов | Рис. 11‑2. Ошибка деления на ноль |
Чтобы избежать этого, необходимо модернизировать программу таким образом, чтобы она предотвращала перечисленные ошибки. Например, так:
Sub ОбратноеЧисло()
|
|
Dim x As Double
Dim y As Double
Dim Число As String
Число = InputBox("Введите число:")
‘Функция IsNumeric проверяет, является ли введенная _
последовательность числом:
If IsNumeric(Число) = False Then
MsgBox "Некорректный ввод исходного значения!", _
vbExclamation, "Обратное число"