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 — исполняет Scilab-код, заданный в строках
- 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 | Управление ошибками | Таблица ошибок >> |