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

Исключение NotFound

Исключение NotFound применяется для того, чтобы сообщить клиенту, что запрошенный URL или ресурс не существует. При возбуждении этого исключения Flask автоматически формирует ответ с HTTP-статусом 404. Объект исключения принимает необязательный параметр description, в котором можно передать текстовое пояснение ошибки.

Синтаксис

from werkzeug.exceptions import NotFound raise NotFound(description)

Пример

Давайте возбудим исключение NotFound внутри обработчика, если запрошен элемент с несуществующим идентификатором:

from flask import Flask from werkzeug.exceptions import NotFound app = Flask(__name__) @app.route('/article/<int:article_id>') def article(article_id): if article_id != 1: raise NotFound('article not found') return 'article'

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

<!doctype html> <html lang=en> <title>404 Not Found</title> <h1>Not Found</h1> <p>article not found</p>

Пример

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

from flask import Flask, jsonify from werkzeug.exceptions import NotFound app = Flask(__name__) @app.errorhandler(NotFound) def handle_not_found(error): res = {'error': error.description} return jsonify(res), 404 @app.route('/user/<name>') def user(name): if name != 'abcde': raise NotFound('user not found') return name

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

{"error": "user not found"}

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

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