РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
395 of 643 menu

Исключение PreconditionFailed

Класс PreconditionFailed наследуется от базового исключения HTTPException и соответствует HTTP-статусу 412 Precondition Failed. Он применяется, когда клиент передал в запросе заголовки предварительных условий (например, If-Match, If-None-Match, If-Modified-Since или If-Unmodified-Since), но эти условия не были выполнены на стороне сервера. Класс можно возбуждать вручную или возвращать как ответ.

Синтаксис

from flask import Flask app = Flask(__name__) raise PreconditionFailed(description=None)

Пример

Давайте возбудим исключение PreconditionFailed в обработчике маршрута:

from flask import Flask from werkzeug.exceptions import PreconditionFailed app = Flask(__name__) @app.route('/') def index(): raise PreconditionFailed('precondition failed')

Результат выполнения кода:

412 Precondition Failed

Пример

Давайте перехватим исключение PreconditionFailed и вернём собственный ответ с описанием:

from flask import Flask from werkzeug.exceptions import PreconditionFailed app = Flask(__name__) @app.errorhandler(PreconditionFailed) def handle_precondition_failed(e): return 'condition not matched', 412

Результат выполнения кода:

"condition not matched"

Пример

Давайте используем атрибут code и description исключения:

from werkzeug.exceptions import PreconditionFailed e = PreconditionFailed('precondition failed') res_code = e.code res_desc = e.description

Результат выполнения кода:

412 'precondition failed'

Смотрите также

  • класс HTTPException,
    базовый класс всех HTTP-исключений Flask
  • атрибут code,
    который хранит HTTP-статус исключения
  • атрибут description,
    который хранит описание ошибки
  • исключение PreconditionRequired,
    которое требует обязательных предварительных условий
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить