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
- execstr
- where

## История

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