сообщает об ошибке во время выполнения
error(message) error(message, n) error(n, message)
Вектор символьных значений. Сообщение об ошибке для вывода на экран. Каждый компонент
выводится на отдельной строчке. Хорошей практикой является обеспечение перевода
сообщения об ошибке с помощью gettext(…)
.
целое число > 0: числовой идентификатор приписанный к ошибке. По умолчанию = 10000.
В то время, как сообщение часто переводится на язык текущей сессии,
n
позволяет проверит ошибку способом, независимым от языка.
Функция error(…)
позволяет выдавать сообщение об ошибке и обрабатывать
ошибку. По умолчанию error
message
,Чтобы обработать ошибку, не останавливая выполнение, ее можно поймать, используя
try … catch
или execstr(…,'errcatch')
и для проверки его с помощью lasterror(…)
..
error(message)
выводит на экран символьную строку, содержащуюся в
message
.
error(message,n)
выводит на экран символьную строку, содержащуюся в
message
. Номер, связанный с сообщением об ошибке указывается с помощью
n
.
См. таблица ошибок, где перечислены сообщения об ошибках.
function test(a) if argn(2)~=1 msg = gettext("%s: Wrong number of input arguments: %d expected.\n") error(msprintf(msg, "test", 1)) end endfunction function myfun() a = 1; test() endfunction // ---------- error(['A multi line' 'error message']) error(500, 'Error: my error message') [m, n] = lasterror() test() myfun() | ![]() | ![]() |
--> error(['A multi line' 'error message']) A multi line error message --> error(500, 'Error: my error message') Error: my error message --> [m, n] = lasterror() n = 500. m = Error: my error message --> test() на строке 4 функции test test: Неверное количество входных аргументов: ожидалось 1. --> myfun() на строке 4 функции test на строке 3 функции myfun test: Неверное количество входных аргументов: ожидалось 1.
Version | Description |
5.0.0 | error(n, message) syntax introduced. |
5.4.0 | Функция error может принимать вектор строк в качестве входного аргумента. |
6.0.0 | Синтаксисы error(n) и error(n, pos) более
не поддерживаются: теперь обязательно указывать напрямую сообщение об ошибке. Нет
более никакого абсолютного идентификатора ошибки. |