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=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) перед местом возникновения ошибки.

Эта функция особенно полезна при использовании 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
Scilab Enterprises
Copyright (c) 2011-2015 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Wed Jun 15 08:48:30 CEST 2016