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

Исключение Gone

Исключение Gone наследуется от класса HTTPException и представляет собой ошибку 410 Gone. Оно применяется, когда ресурс, к которому обратился клиент, существовал ранее, но был безвозвратно удалён и не будет восстановлен. В отличие от ошибки 404, которая означает, что ресурс не найден, ошибка 410 является более специфичной и сообщает клиенту о постоянном удалении. При возбуждении этого исключения Flask автоматически возвращает соответствующий HTTP-статус и может отобразить стандартную или пользовательскую страницу ошибки.

Синтаксис

from flask import abort abort(410)

Также можно импортировать исключение напрямую и возбудить его:

from werkzeug.exceptions import Gone raise Gone()

Пример

Давайте создадим маршрут, который возвращает ошибку 410 для удалённой статьи:

from flask import Flask, abort app = Flask(__name__) @app.route('/article/<int:article_id>') def article(article_id): if article_id == 1: abort(410) return f'article {article_id}'

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

410 Gone

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

"article 2"

Пример

Давайте обработаем исключение Gone с помощью собственного обработчика ошибок:

from flask import Flask, abort from werkzeug.exceptions import Gone app = Flask(__name__) @app.errorhandler(Gone) def handle_gone(error): return 'this page is gone', 410 @app.route('/user/<name>') def user(name): if name == 'abcde': abort(410) return f'user {name}'

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

this page is gone

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

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