Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
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 — indexes or/and translates some indexed english messages
- warning — предупреждающие сообщения
- try — начало блока try в управляющей структуре try-catch
- execstr — исполняет Scilab-код, заданный в строках
- where — получение текущей инструкции дерева вызова
История
Version | Description |
5.0.0 | error(n, message) syntax introduced. |
5.4.0 | Функция error может принимать вектор строк в качестве входного аргумента. |
6.0.0 | Синтаксисы error(n) и error(n, pos) более
не поддерживаются: теперь обязательно указывать напрямую сообщение об ошибке. Нет
более никакого абсолютного идентификатора ошибки. |
Report an issue | ||
<< errclear | Управление ошибками | Таблица ошибок >> |