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


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 — очистка ошибки
  • edit_error — opens in scilab editor the source of the last recorded error
Report an issue
<< Таблица ошибок Управление ошибками warning >>

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