Атрибут description
Атрибут description принадлежит классу HTTPException и хранит строку с описанием HTTP-ошибки. Это описание выводится пользователю, когда Flask обрабатывает исключение и формирует ответ. По умолчанию атрибут содержит стандартное сообщение для каждого типа ошибки, но его можно переопределить при создании исключения.
Атрибут description доступен для чтения и записи. Если передать описание в конструктор исключения, оно заменит стандартное значение. Если не передавать - будет использовано описание по умолчанию, заданное для конкретного класса исключения.
Синтаксис
exception.description
Пример
Давайте создадим исключение NotFound и выведем его описание:
from flask import Flask
from werkzeug.exceptions import NotFound
app = Flask(__name__)
exc = NotFound()
res = exc.description
print(res)
Результат выполнения кода:
"The requested URL was not found on the server. If you entered the URL manually please check your spelling and try again."
Пример
Давайте создадим исключение BadRequest с собственным описанием:
from flask import Flask
from werkzeug.exceptions import BadRequest
app = Flask(__name__)
exc = BadRequest(description='Invalid request data')
res = exc.description
print(res)
Результат выполнения кода:
"Invalid request data"
Пример
Давайте переопределим описание у исключения Forbidden после его создания:
from flask import Flask
from werkzeug.exceptions import Forbidden
app = Flask(__name__)
exc = Forbidden()
exc.description = 'Access denied for this user'
res = exc.description
print(res)
Результат выполнения кода:
"Access denied for this user"
Пример
Давайте выбросим исключение NotFound с описанием в обработчике маршрута:
from flask import Flask, abort
from werkzeug.exceptions import NotFound
app = Flask(__name__)
@app.route('/user')
def user():
raise NotFound(description='User not found')
@app.errorhandler(NotFound)
def handle_not_found(error):
return error.description, 404
Результат выполнения кода для адреса /user:
User not found
Смотрите также
-
класс
HTTPException,
который является базовым классом для всех HTTP-исключений -
атрибут
code,
который хранит HTTP-код ошибки -
атрибут
name,
который хранит название ошибки -
метод
get_description,
который возвращает описание ошибки