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()![]()
![]()
![]()
![]()
|
Сообщение об ошибке: строка |