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

Атрибут code

Атрибут code принадлежит классу HTTPException и хранит целое число - HTTP-статус ошибки, например 404 или 500. Этот код возвращается клиенту в первой строке HTTP-ответа и определяет, как браузер или клиент интерпретирует ответ. Атрибут доступен как у базового класса HTTPException, так и у всех его наследников, таких как NotFound или BadRequest.

Синтаксис

exception.code

Пример

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

from flask import Flask from werkzeug.exceptions import NotFound app = Flask(__name__) exc = NotFound() res = exc.code print(res)

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

404

Пример

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

from flask import Flask from werkzeug.exceptions import BadRequest, Forbidden, NotFound, InternalServerError app = Flask(__name__) exceptions = [BadRequest(), Forbidden(), NotFound(), InternalServerError()] for exc in exceptions: print(exc.code)

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

400 403 404 500

Пример

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

from flask import Flask, jsonify from werkzeug.exceptions import HTTPException app = Flask(__name__) @app.errorhandler(HTTPException) def handle_exception(exc): res = jsonify({ 'code': exc.code, 'name': exc.name, 'description': exc.description }) return res, exc.code

При запросе к несуществующему адресу /abcde клиент получит JSON с кодом 404:

{ "code": 404, "name": "Not Found", "description": "The requested URL was not found on the server." }

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

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