box.error()
Вызывает последнюю ошибку.
См. также: box.error.last()
Вызывает ошибку, заданную в 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...--]]
Вызывает ошибку, заданную указанными параметрами.
-
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...--]]
Вызывает ошибку, заданную указанным типом и описанием.
-
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...--]]
Вызывает предопределенную ошибку 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'...--]]