Skip to main content
Skip table of contents

ApiError. Android

Если произойдет какая-либо ошибка, вы получите объект ApiError от Throwable.

ErrorType — показывает информацию о типичных ошибках.

name — имя ошибки.

message — информационное сообщение, отправленное с сервера.

statusCode — код состояния ошибки, если ошибка исходила от сервера.

Типы ошибок

Коды состояния запроса 419 и 422 следует обрабатывать путем разделения потока аутентификации.

Например, как обрабатывать ошибки входа в систему:

CODE
fun handleErrors() {
    if (throwable is HttpException) {
        when (throwable.code()) {
            419 -> {
                val response = getLoginResponse(error)
                if (response != null) {
                    // В этом случае у вас ограниченное количество сеансов, и вам следует удалить один из них, чтобы войти в систему с новым сеансом
                } else {
                    // Ваша типичная ошибка обработки
                }
            }

            422 -> {
                if (throwable.isCaptchaNeeded()) {
                    // Если есть ошибка капчи, вам следует обновить капчу
                } else {
                    // Ваша типичная ошибка обработки
                }
            }

            else -> {
                // Ваши типичные ошибки обработки
            }
        }
    } else {
        // Ваши типичные ошибки обработки
    }
}

О кодах состояния и о том, как с ними обращаться

401 — Unauthorised, вам следует выйти из системы

403 — Forbidden, когда у вас не было разрешения на вызов запроса

409 — Force Update, когда вам нужно обновить версию SDK

419 — Session Expired, следует удалить какой-то сеанс для входа в систему

422 — Incorrect Data, вызовите getErrorMessage422(throwable: Throwable), чтобы получить текстовую ошибку

429 — Request Limit, когда произошло слишком много запросов

503 — Technical Error, вы можете показать собственное сообщение об ошибке или экран

500 — Server Error, вы можете показать собственное сообщение об ошибке или экран

Unknown error — неизвестная ошибка

No internet connection — нет соединения

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.