box.error()
-
box.
error
()¶ При вызове без аргументов
box.error()
повторно вызывает последнюю ошибку.
-
box.
error
{reason = string[, code = number]} Выдача ошибки. При вызове с аргументом из Lua-таблицы значения параметров code и reason будут любыми по желанию пользователя. Результатом будут эти значения.
Параметры: - reason (
string
) – (строка) описание ошибки, задается пользователем - code (
integer
) – (целое число) числовой код ошибки, задается пользователем
- reason (
-
box.
error
(code, errtext[, errtext ...]) Выдача ошибки. Моделирование ошибки запроса с текстом на основе одной из ошибок Tarantool, заданных в файле errcode.h в исходном дереве. Lua-постоянные, которые соответствуют этим ошибкам в Tarantool, определяются как элементы
box.error
, напримерbox.error.NO_SUCH_USER == 45
.Параметры: - code (
number
) – номер предварительно заданной ошибки - errtext(s) (
string
) – часть сообщения, которое сопровождает ошибку
Пример:
сообщение
NO_SUCH_USER
= «User '%s' is not found
» (пользователь не найден) – оно включает в себя компонент «%s
», который будет заменен значением параметра errtext. Таким образом, вызовbox.error(box.error.NO_SUCH_USER, 'joe')
илиbox.error(45, 'joe')
приведет к ошибке с сообщением «User 'joe' is not found
» (пользователь „joe“ не найден).Исключение: то, что указано в номере errcode. box.error()
может принимать два типа аргументов:- код ошибки и ее причину/текст (
box.error{code = 555, reason = 'Arbitrary message'}
), - либо объект ошибки (
box.error(err)
).
В обоих случаях ошибка будет записана как последняя системная ошибка.
Пример:
tarantool> e1 = box.error.new({code = 111, reason = 'Сause'}) --- ... tarantool> box.error(e1) --- - error: Сause ... tarantool> box.error{code = 555, reason = 'Arbitrary message'} --- - error: Arbitrary message ... tarantool> box.error() --- - error: Arbitrary message ... tarantool> box.error(box.error.FUNCTION_ACCESS_DENIED, 'A', 'B', 'C') --- - error: A access denied for user 'B' to function 'C' ...
- code (