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

box.error()

box.error()

Вызывает последнюю ошибку.

См. также: box.error.last()

box.error(error_object)

Вызывает ошибку, заданную в error_object.

Параметры:

  • error_object (error_object) — объект ошибки

Пример

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

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

Вызывает ошибку, заданную указанными параметрами.

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

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

  • type (string) — (необязательный) тип ошибки

Пример 1

box.error { code = 500,            reason = 'Custom server error' }--[[---- error: Custom server error...--]]

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

box.error { code = 500,            reason = 'Internal server error',            type = 'CustomInternalError' }--[[---- error: Internal server error...--]]

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

Вызывает ошибку, заданную указанным типом и описанием.

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

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

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

Пример 1: без аргументов

box.error('CustomConnectionError', 'cannot connect to the given port')--[[---- error: cannot connect to the given port...--]]

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

box.error('CustomConnectionError', '%s cannot connect to the port %u', 'client', 8080)--[[---- error: client cannot connect to the port 8080...--]]

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

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

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

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

Пример 1: без аргументов

box.error(box.error.READONLY)--[[---- error: Can't modify data on a read-only instance...--]]

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

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

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

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