Модуль error
-
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*) – ошибка
Результат: enum box_error_code
-
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 из хранимой процедуры.
Результат: последняя ошибка
-
int
box_error_set
(const char *file, unsigned line, uint32_t code, const char *format, ...) Определение последней ошибки.
Параметры: - char* file (const) –
- line (unsigned) –
- code (uint32_t) – IPROTO error code
- char* format (const) –
- ... – аргументы формата
См. также IPROTO error code