Задать вопрос
@gwynbleidd111

Почему не перехватывается исключение Exception?

Пытаюсь сделать обработчик ошибок но, он по какой-то причине не работает, хотя сделанный по аналогии обработчик для HTTPException отлично работает.
пытаюсь перехватить при помощи
async def global_exception_handler(request: Request, exc: Exception):
    "глобальный обработчик ошибок"
    return JSONResponse(
        status_code=500,
        content={"error": "Internal server error (from global_exception_handler)"}
    )

Вызываю в ендпоинте
@router.get("/awdawd/dawdaw")
async def adwad():
    raise Exception

но вижу просто
File *PATH*, line 411, in adwad
raise Exception
Exception

Пытался вызвать его делением на 0. результат тот же(global_exception_handler не срабатывает)
при этом есть
async def custom_exception_handler(request: Request, exc: CustomException):
    "обработчик ошибок пока только в get by id"
    error = jsonable_encoder(
        CustomExceptionModel(status_code=exc.status_code, er_message=exc.message, er_details=exc.detail))
    return JSONResponse(status_code=exc.status_code, content=error)

который отрабатывает, правда его я вызываю напрямую через raise CustomException.
регистрация в мейн:
app.add_exception_handler(CustomException, custom_exception_handler)
app.add_exception_handler(Exception, global_exception_handler)
  • Вопрос задан
  • 21 просмотр
Подписаться 1 Простой 3 комментария
Помогут разобраться в теме Все курсы
  • Слёрм
    Python: Работа с API и фреймворками
    1 месяц
    Далее
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Хекслет
    Python-разработчик
    10 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы