error
Повысьте заданное пользователями исключение
Блокноты MuPAD® будут демонтированы в будущем релизе. Используйте live скрипты MATLAB® вместо этого.
Live скрипты MATLAB поддерживают большую часть функциональности MuPAD, хотя существуют некоторые различия. Для получения дополнительной информации смотрите, Преобразовывают Notebook MuPAD в Live скрипты MATLAB.
error(message
)
error(message)
прерывает текущую процедуру, возвращается к интерактивному уровню и отображает сообщение об ошибке message
.
Если ошибка не фиксируется через traperror
процедурой, которая прямо или косвенно вызвала текущую процедуру, управление возвращено в интерактивный уровень и строку, message
распечатан как сообщение об ошибке.
Печатное сообщение об ошибке имеет форму Error: message [name]
, где name
является именем процедуры, содержащей вызов error
. Смотрите примеры.
Ошибки могут быть зафиксированы функциональным traperror
. Если ошибка происходит, в то время как аргументы traperror
оценены, управление возвращено в процедуру, содержащую вызов traperror
а не интерактивного уровня. Никакое сообщение об ошибке не распечатано. Возвращаемым значением traperror
является 1028
, когда это фиксирует ошибку, повышенную error
; смотрите Пример 2.
Функциональный error
полезен, чтобы повысить ошибку в части проверки типа пользовательской процедуры, когда эта процедура вызвана недействительными аргументами.
Если делителем следующей простой стандартной программы деления является 0
, то ошибка повышена:
mydivide := proc(n, d) begin if iszero(d) then error("Division by 0") end_if; n/d end_proc: mydivide(2, 0)
Error: Division by 0 [mydivide]
Когда ошибка повышена в следующей процедуре p
, управление сразу возвращено в интерактивный уровень. Второй вызов print
никогда не выполняется. Обратите внимание на то, что имя процедуры распечатано в сообщении об ошибке:
p := proc() begin print("entering procedure p"); error("oops"); print("leaving procedure p") end_proc: p()
Error: oops [p]
Следующая процедура q
вызывает процедуру p
и фиксирует любую ошибку, которая повышена в p
:
q := proc() begin print("entering procedure q"); print("caught error: ", traperror(p())); print("leaving procedure q") end_proc: q()
|
Сообщение об ошибке: строка |