Рантайм

Здесь описаны функции для работы с виртуальной машиной во время выполнения скрипта.

Типы

trace

Тип trace служит для хранения информации о вызове функции и имеет следующие поля:

  • str Path - имя файла

  • str Entry - текущая функция

  • str Func - вызываемая функция

  • int Line - строка в исходном коде

  • int Pos - позиция в строке, где произошёл вызов

Функции

error(int id, str text, anytype pars...)

Функция error генерирует ошибку времени выполнения скрипта.

  • id - код ошибки,

  • text - текст ошибки,

  • pars - необязательные параметры. Если они указаны, то text должен содержать соответствующий шаблон

    как в функции Format.

error(10, `Error message %{ 10 }`)
error(10, `Error message %d`, 10)

ErrID(error err) int

Функция ErrID возвращает идентификатор ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.

run {
try {
.....
error(101, `oooops`)
}
catch err {
if ErrID(err) == 101 {
recover
} elif ErrID(err) < 100 {
retry
}
}
}

ErrText(error err) str

Функция ErrText возвращает текст ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.

ErrTrace(error err) arr.trace

Функция ErrTrace возвращает стек вызовов функций на момент возникновения ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.

Trace() arr.trace

Функция Trace возвращает стек вызовов функций.