Перехват ошибок (on error)
Программирование в Mathcad позволяет осуществлять дополнительную обработку ошибок. Если пользователь предполагает, что выполнение кода в каком-либо месте программного модуля способно вызвать ошибку (например, деление на ноль), то эту ошибку можно перехватить с помощью оператора on error. Чтобы вставить его в программу, надо поместить линии ввода в ней в нужное положение и нажать кнопку с именем оператора on error на панели Programming (Программирование). В результате появится строка с двумя местозаполнителями и оператором on error посередине (рис. 20).
Рис. 20. Вставка оператора перехода по ошибке В правом местозаполнителе следует ввести выражение, которое должно выполняться в данной строке программы. В левом – выражение, которое будет выполнено вместо правого выражения, если при выполнении последнего возникнет ошибка. В программном модуле рассчитывается функция обратного числа значению n. Если n¹ 0, то и присвоенное значение z¹ 0, поэтому в последней строке программы выполняется правое выражение расчета 1/z. Так происходит при расчете f(–2). Если попытаться вычислить f(0), то выполнение программы вызовет ошибку деления на ноль в последней строке. Соответственно, вместо выражения справа от оператора on error будет выполнено левое выражение, присваивающее функции f(n) строковое значение " user error: cannot divide by zero" (пользовательская ошибка: деление на ноль невозможно). Оператор перехвата ошибок удобно применять в комбинации со встроенной функцией error(S). Она приводит к генерации ошибки в обычной для Mathcad форме с сообщением S. Пример обработки ошибки деления на ноль показан на рис. 21.
Рис. 21. Перехват ошибки деления на ноль Сделанные изменения свелись к помещению текста сообщения об ошибке в аргумент функции error.
|