Gentee
  • Скриптовый язык программирования Gentee
  • Синтаксис языка
    • Лексические элементы
    • Типы
    • Описания
    • Конструкции языка
    • Обработка ошибок
    • Выражения
    • Запуск программ
    • Многопоточность
    • Включение и импорт файлов
  • Стандартная библиотека
    • Архивация
    • Ассоциативные массивы
    • Буфер
    • Время
    • Конвертация
    • Консоль
    • Константы
    • Контекст
    • Криптография
    • Логический тип
    • Массивы
    • Многопоточность
    • Множества
    • Объекты
    • Процесс
    • Путь
    • Рантайм
    • Регулярные выражения
    • Сеть
    • Символьный тип
    • Система
    • Строки
    • Файлы
    • Целые числа
    • Числа с плавающей точкой
  • Интеграция с Go
    • Документация
    • Компиляция и выполнение
    • Дополнительные возможности
    • Песочница
  • Сменить язык
    • English
Powered by GitBook
On this page
  • Типы
  • trace
  • Функции
  • error(int id, str text, anytype pars...)
  • ErrID(error err) int
  • ErrText(error err) str
  • ErrTrace(error err) arr.trace
  • exit(int code)
  • Progress( int id inc )
  • ProgressEnd( int id )
  • ProgressStart( int total ptype, str src dest ) int
  • Trace() arr.trace

Was this helpful?

  1. Стандартная библиотека

Рантайм

PreviousПутьNextРегулярные выражения

Last updated 4 years ago

Was this helpful?

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

Типы

trace

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

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

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

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

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

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

Функции

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

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

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

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

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

    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 для обработки ошибок.

exit(int code)

Функция 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( int id inc )

Функция 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( int id )

Функция ProgressEnd удаляет счётчик процесса с идентификатором id.

ProgressStart( int total ptype, str src dest ) int

Trace() arr.trace

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

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

Функция ProgressStart создаёт счётчик процесса и возвращает его идентификатор. total - максимальная величина счётчика. ptype - тип счётчика, может быть любое число. src - имя источника. dest - имя целевого объекта. Функции для работы с прогрессом-баром ничего не отображают, они вызывают функцию ProgressFunc, которая должна быть определена в при запуске скрипта. В функции ProgressFunc вы можете отображать состояние процесса удобным для вас способом. После окончания работы с данным счётчиком необходимо вызвать функцию ProgressEnd для его удаления.

Format
настройках
error( int id, str text, anytype pars... )
ErrID( error err ) int
ErrText( error err ) str
ErrTrace( error err ) arr.trace
exit( int code )
Progress( int id inc )
ProgressEnd( int id )
ProgressStart( int total ptype, str src dest ) int
Trace() arr.trace