Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
6.1.0 - Русский

Change language to:
English - Français - 日本語 - Português -

Please note that the recommended version of Scilab is 2024.0.0. This page might be outdated.
See the recommended documentation of this function

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

История

VersionDescription
5.0.0 error(n, message) syntax introduced.
5.4.0 Функция error может принимать вектор строк в качестве входного аргумента.
6.0.0 Синтаксисы error(n) и error(n, pos) более не поддерживаются: теперь обязательно указывать напрямую сообщение об ошибке. Нет более никакого абсолютного идентификатора ошибки.
Report an issue
<< errclear Управление ошибками Таблица ошибок >>

Copyright (c) 2022-2023 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Feb 25 08:54:53 CET 2020