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 - 日本語

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

Справка Scilab >> Scilab > Управление ошибками > lasterror

lasterror

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

Последовательность вызова

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

Аргументы

str

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

n

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

line

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

func

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

opt

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

Описание

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

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

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

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

Примеры

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

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

  • errcatch — перехват ошибок
  • execstr — исполняет Scilab-код, заданный в строках
  • error — сообщение об ошибке
  • errclear — очистка ошибки
  • edit_error — opens in scilab editor the source of the last recorded error
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 14:01:01 CEST 2014