Comment on page
Рантайм
Здесь описаны функции для работы с виртуальной машиной во время выполнения скрипта.
Тип trace служит для хранения информации о вызове функции и имеет следующие поля:
- str Path - имя файла
- str Entry - текущая функция
- str Func - вызываемая функция
- int Line - строка в исходном коде
- int Pos - позиция в строке, где произошёл вызов
Функция error генерирует ошибку времени выполнения скрипта.
- id - код ошибки,
- text - текст ошибки,
- pars - необязательные параметры. Если они указаны, то text должен содержать соответствующий шаблон
error(10, `Error message %{ 10 }`)
error(10, `Error message %d`, 10)
Функция ErrID возвращает идентификатор ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.
run {
try {
.....
error(101, `oooops`)
}
catch err {
if ErrID(err) == 101 {
recover
} elif ErrID(err) < 100 {
retry
}
}
}
Функция ErrText возвращает текст ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.
Функция ErrTrace возвращает стек вызовов функций на момент возникновения ошибки err. Эта функция может использоваться внутри конструкции try-catch для обработки ошибок.
Функция exit прекращает работу скрипта. Функция может быть вызвана в любом потоке. Скрипт возвращает значение code.
func ok(int par) int {
if par == 0 : exit(0)
return 3 * par
}
run int {
int sum
for i in 10..-10 {
sum += ok(i)
}
return sum
}
Функция Progress увеличивает величину счётчика процесса на значение параметра inc. id - идентификатор прогресс-бара возвращённый функцией ProgressStart. Функция Progress вызывает Go функцию ProgressFunc, которая должна быть определена в настройках при запуске скрипта.
int total = 200
int prog = ProgressStart(total, 100, `counter`, ``)
for i in 1..5 {
Progress(prog, 40)
}
ProgressEnd(prog)
Функция ProgressEnd удаляет счётчик процесса с идентификатором id.
Функция ProgressStart создаёт счётчик процесса и возвращает его идентификатор. total - максимальная величина счётчика. ptype - тип счётчика, может быть любое число. src - имя источника. dest - имя целевого объекта. Функции для работы с прогрессом-баром ничего не отображают, они вызывают функцию ProgressFunc, которая должна быть определена в настройках при запуске скрипта. В функции ProgressFunc вы можете отображать состояние процесса удобным для вас способом. После окончания работы с данным счётчиком необходимо вызвать функцию ProgressEnd для его удаления.
Функция Trace возвращает стек вызовов функций.
Last modified 3yr ago