Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Français - Português - 日本語 -
Справка Scilab >> Scilab > Управление ошибками > error

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 — получение текущей инструкции дерева вызова

История

ВерсияОписание
5.0.0 error(n, message) syntax introduced.
5.4.0 Функция error может принимать вектор строк в качестве входного аргумента.
6.0.0 Синтаксисы error(n) и error(n, pos) более не поддерживаются: теперь обязательно указывать напрямую сообщение об ошибке. Нет более никакого абсолютного идентификатора ошибки.
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Feb 14 15:04:47 CET 2019