@MrxAlexo

Как обрабатывать исключения?

Как лучше всего обрабатывать исключения? Имею такой код:
response = request().json()
        try:
            status_code = ApiStatusCode(response.get('status_code'))
        except ValueError:
            raise Exception(f"API returns unknown error code: {response.get('status_code')}")
        
        if status_code is not ApiStatusCode.SUCCESS:
            logger.error(f"Error: {response.get('message').lower()}")

            exceptions_map = {
                ApiStatusCode.INVALID: InvalidDataException,
                ApiStatusCode.LIMIT: LimitException
            }
            raise exceptions_map.get(status_code, Exception(f"API returns error code: {status_code.value}"))


ApiStatusCode - класс enums с кодами ошибок.

class ApiStatusCode(enum.IntEnum):

    SUCCESS = 0
    INVALID = 1
    LIMIT = 5


Как правильно хранить исключения для "плохих" статус кодов? И как их лучше получить, чтобы выбросить?
  • Вопрос задан
  • 249 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы