Tarantool CE/EE Documentation portal logo
Помощь
Обновлена 15 сентября 2026 г. в 08:55

box.error.new()

box.error.new({ reason = string[, code = number, type = string] })

Создание объекта ошибки с заданными параметрами.

Параметры:

  • reason (string) — описание ошибки
  • code (int) — (необязательный) числовой код ошибки
  • type (string) — (необязательный) тип ошибки

Пример 1

local custom_error = box.error.new({ code = 500,                                     reason = 'Internal server error' })box.error(custom_error)--[[---- error: Internal server error...--]]

Пример 2: пользовательский тип

local custom_error = box.error.new({ code = 500,                                     reason = 'Internal server error',                                     type = 'CustomInternalError' })box.error(custom_error)--[[---- error: Internal server error...--]]

box.error.new(type, reason[, ...])

Создание объекта ошибки с заданным типом и описанием.

  • type (string) — тип ошибки

  • reason (string) — описание ошибки

  • ... — аргументы описания

Пример

local custom_error = box.error.new('CustomInternalError', 'Internal server error')box.error(custom_error)--[[---- error: Internal server error...--]]

box.error.new(code[, ...])

Создание предопределенной ошибки Tarantool, заданной идентификатором. Все ошибки Tarantool перечислены в файле errcode.h.

  • code (number) — идентификатор предопределенной ошибки; Lua-константы, соответствующие ошибкам Tarantool, определены как члены box.error, например, box.error.NO_SUCH_USER == 45

  • ... — аргументы описания

Пример 1: один аргумент

local custom_error = box.error.new(box.error.NO_SUCH_USER, 'John')box.error(custom_error)--[[---- error: User 'John' is not found...--]]

Пример 2: два аргумента

local custom_error = box.error.new(box.error.CREATE_SPACE, 'my_space', 'the space already exists')box.error(custom_error)--[[---- error: 'Failed to create space ''my_space'': the space already exists'...--]]