Module error
-
enum
box_error_code
¶ For a complete list of errors, refer to the Tarantool error code header file.
-
type
box_error_t
¶ Ошибка – содержит информацию об ошибке.
-
const char *
box_error_type
(const box_error_t *error)¶ Возврат типа ошибки, например, «ClientError», «SocketError» и т.д.
Параметры: - error (box_error_t*) – ошибка
Результат: ненулевая строка
-
uint32_t
box_error_code
(const box_error_t *error) Возврат кода ошибки IPROTO
Параметры: - error (box_error_t*) – ошибка
Результат:
-
const char *
box_error_message
(const box_error_t *error)¶ Возврат сообщения ошибки
Параметры: - error (box_error_t*) – ошибка
Результат: ненулевая строка
-
box_error_t *
box_error_last
(void)¶ Получение информации о последней ошибке вызова API.
Обработка ошибок в Tarantool больше всего похожа на errno в стандартной библиотеке языка С libc. Все вызовы API возвращают -1 или NULL в случае ошибки. Внутренний указатель на тип box_error_t задается функциями, чтобы указать, что пошло не так. Это значение показательно, если вызов API не прошел (вернулось -1 или NULL).
Выполненная функция в некоторых случаях также может затрагивать последнюю ошибку. Необязательно удалять последнюю ошибку перед вызовом API-функций. Возвращаемый объект применим только до следующего вызова любой API-функции.
Следует задать последнюю ошибку с помощью box_error_set() из хранимых процедур на языке C, если необходимо вернуть специальное сообщение об ошибке. Можно повторно сгенерировать последнюю API-ошибку в клиент IPROTO, сохранив текущее значение и вернув -1 to Tarantool из хранимой процедуры.
Результат: последняя ошибка
-
void
box_error_clear
(void)¶ Удаление последней ошибки.
-
int
box_error_set
(const char *file, unsigned line, uint32_t code, const char *format, ...)¶ Определение последней ошибки.
Параметры: - file (const char*) –
- line (unsigned) –
- code (uint32_t) – IPROTO error code
- format (const char*) –
- ... – аргументы формата
См. также IPROTO error code
-
box_error_raise
(code, format, ...)¶ Обратно совместимые определения API.