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

lasterror

получение последнего записанного сообщения об ошибке

Синтаксис

[str, n, line, func] = lasterror()
[str, n, line, func] = lasterror(opt)

Аргументы

opt

логическое значение, если %t, то записанное сообщение очищено. По умолчанию %t.

str

вектор символьных строк или пустая матрица. Последнее записанное сообщение об ошибке.

n

целое число, 0 или номер последней записанной ошибки.

line

целое число, 0 или последний записанный номер строки функции.

func

строка, имя последней записанной функции.

Описание

Каждый раз, когда возникает ошибка, регулятор ошибок Scilab записывает её во внутреннюю таблицу (удерживается только последняя). Функция lasterror позволяет получить сообщение, номер ошибки, текущую функцию (если есть) и номер текущей строки в текущей функции из этой таблицы.

Указанный номер строки является номером физической строки, в которой произошла последняя ошибка. Заметьте, что версии Scilab до 5.0 использовали для указания логический номер строки последней ошибки. Разница имеется только если функция, в которой произошла ошибка, содержит продолженные строки (смотрите dot) перед местом возникновения ошибки.

Эта функция особенно полезна при использовании execstr.

Записанное сообщение об ошибке может удерживаться для дальнейшего вызова lasterror, с помощью lasterror(%f).

Примеры

ierr=execstr('a=zzzzzzz','errcatch')
if ierr>0 then
  disp(lasterror())
end

Смотрите также

  • execstr — исполняет Scilab-код, заданный в строках
  • error — сообщает об ошибке во время выполнения
  • errclear — очистка ошибки
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Tue Jul 20 11:21:15 CEST 2021