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


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 Управление ошибками Таблица ошибок >>

Copyright (c) 2022-2024 (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 Oct 24 14:37:05 CEST 2023