Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про FastAPI: fast api, exception handling, custom errors, httpexception

Как обрабатывать обработку исключений и кастомные ответы на ошибки в FastAPI?

Вопрос касается работы с исключениями и создания кастомных ответов об ошибках в FastAPI.

Короткий ответ

FastAPI использует класс HTTPException для обработки ошибок, а кастомные обработчики позволяют адаптировать ответы.

Длинный ответ

FastAPI предоставляет мощные механизмы для обработки исключений:

  • HTTPException: Для быстрого возврата HTTP-ошибок с настраиваемыми статусами и сообщениями.

  • Пользовательские обработчики исключений: Позволяют перехватывать и обрабатывать определенные типы исключений глобально.

  • Валидация ошибок: RequestValidationError используется для обработки ошибок, связанных с входными данными.

Пример обработки:

from fastapi import FastAPI, HTTPException
from fastapi.responses import JSONResponse

app = FastAPI()

@app.exception_handler(HTTPException)
async def http_exception_handler(request, exc):
    	return JSONResponse(
        	status_code=exc.status_code,
        	content={"message": f"Error: {exc.detail}"},
    	)

@app.get("/items/{item_id}")
async def read_item(item_id: int):
    	if item_id != 42:
        	raise HTTPException(status_code=404, detail="Item not found")
    	return {"item_id": item_id}

Когда использовать:

  • Для улучшения обработки ошибок и пользовательских ответов в API.

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • FastAPI

    FastAPI

Ключевые слова

#fast api

#exception handling

#custom errors

#httpexception

Подпишись на Python Developer в телеграм

  • Аватар

    Python Guru

    Sergey Filichkin

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.