error
сообщает об ошибке во время выполнения
Синтаксис
error(message) error(message, n) error(n, message)
Аргументы
- message
Вектор символьных значений. Сообщение об ошибке для вывода на экран. Каждый компонент выводится на отдельной строчке. Хорошей практикой является обеспечение перевода сообщения об ошибке с помощью
gettext(…)
.- n
целое число > 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.
Смотрите также
- lasterror — получение последнего записанного сообщения об ошибке
- таблица ошибок — список сообщений главных стандартных ошибок
- gettext — индексирует или/и переводит некоторые индексированные сообщения на английском языке
- warning — предупреждающие сообщения
- try — начало блока try в управляющей структуре try-catch
- execstr — execute Scilab code in strings
- where — получение текущей инструкции дерева вызова
История
Версия | Описание |
5.0.0 | error(n, message) syntax introduced. |
5.4.0 | Функция error может принимать вектор строк в качестве входного аргумента. |
6.0.0 | Синтаксисы error(n) и error(n, pos) более
не поддерживаются: теперь обязательно указывать напрямую сообщение об ошибке. Нет
более никакого абсолютного идентификатора ошибки. |
Report an issue | ||
<< errclear | Управление ошибками | Таблица ошибок >> |