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

Класс HTTPError

Класс HTTPError применяется для создания исключения, которое соответствует HTTP-ошибке. Он наследуется от класса BottleException и используется функцией abort, а также может выбрасываться вручную. Первым параметром передаётся код статуса, вторым - тело ответа, третьим - объект исключения, четвёртым - словарь заголовков.

При выбросе исключения HTTPError Bottle автоматически формирует HTTP-ответ с указанным кодом статуса и телом. Это удобно для обработки ситуаций, когда нужно прервать выполнение маршрута и вернуть клиенту ошибку.

Синтаксис

HTTPError(status, body, exception, headers)

Пример

Давайте выбросим ошибку 404 вручную в маршруте:

from bottle import Bottle, HTTPError app = Bottle() @app.route('/') def index(): raise HTTPError(404, 'page not found')

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

page not found

Пример

Давайте создадим объект HTTPError и посмотрим на его атрибуты:

from bottle import HTTPError err = HTTPError(500, 'internal error') res = err.status_code print(res)

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

500

Пример

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

from bottle import Bottle, HTTPError app = Bottle() @app.route('/') def index(): headers = {'X-Custom': 'abcde'} raise HTTPError(403, 'forbidden', None, headers)

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

forbidden

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

  • атрибут status_code,
    который хранит код статуса HTTP-ошибки
  • атрибут body,
    который хранит тело ответа ошибки
  • класс BottleException,
    от которого наследуется HTTPError
  • функцию abort,
    которая прерывает запрос с кодом ошибки
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить