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

Класс HTTPException

Класс HTTPException наследуется от класса Exception и является базой для всех HTTP-ошибок во Flask. При возникновении исключения этого типа Flask автоматически формирует ответ клиенту с соответствующим кодом состояния, описанием и заголовками. Первым параметром в конструктор передаётся описание ошибки, а вторым - объект ответа response, если его нужно переопределить.

Синтаксис

class HTTPException(description=None, response=None)

Пример

Давайте создадим собственное исключение на основе HTTPException и вызовем его в обработчике:

from flask import Flask, HTTPException app = Flask(__name__) class MyError(HTTPException): code = 400 description = 'abcde' @app.route('/') def index(): raise MyError() if __name__ == '__main__': app.run()

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

abcde

Пример

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

from flask import Flask, HTTPException app = Flask(__name__) @app.errorhandler(HTTPException) def handle_error(error): return 'user: ' + str(error.code), error.code @app.route('/') def index(): raise HTTPException() if __name__ == '__main__': app.run()

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

user: 500

Пример

Давайте получим описание и код ошибки через атрибуты description и code:

from flask import Flask, HTTPException app = Flask(__name__) @app.route('/') def index(): error = HTTPException(description='hello') return error.description if __name__ == '__main__': app.run()

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

hello

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

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