Справочник · модуль 15 «Веб-приложение на FastAPI»

HTTPException

Команда raise HTTPException останавливает функцию и отправляет клиенту ошибку с кодом и описанием.

Сравнение из жизни

Как красный флажок: стоп и объяснение.

Пример

main.py
from fastapi import HTTPException


@app.get("/notes/{note_id}")
def get_note(note_id: int):
    if note_id not in NOTES:
        raise HTTPException(status_code=404, detail="Заметки нет")
    return {"id": note_id, "text": NOTES[note_id]}

Учитель в уроке Исправим. Сначала проверим: есть ли такой номер. Если нет, поднимаем ошибку HTTPException. В ней код четыреста четыре и пояснение. Слово raise ты уже знаешь. Функция сразу останавливается, а клиент получает честный ответ.

Запомнить

HTTPException — как вежливый отказ с объяснением. Функция останавливается, а клиент получает код и причину.

Тема из урока 15.4 «Коды ответов и ошибки» курса PythonAZ.

В этом же уроке