Атрибут name
Атрибут name применяется к экземпляру класса
HTTPException и
хранит строковое имя исключения. Это имя соответствует
названию HTTP-статуса без пробелов. Атрибут доступен
только для чтения и используется для идентификации
типа ошибки внутри обработчиков.
Синтаксис
exception.name
Пример
Давайте создадим исключение NotFound и выведем его имя:
from flask import Flask
from werkzeug.exceptions import NotFound
app = Flask(__name__)
exc = NotFound()
print(exc.name)
Результат выполнения кода:
"Not Found"
Пример
Давайте проверим имя у исключения BadRequest:
from flask import Flask
from werkzeug.exceptions import BadRequest
app = Flask(__name__)
exc = BadRequest()
print(exc.name)
Результат выполнения кода:
"Bad Request"
Пример
Давайте используем атрибут name внутри
обработчика ошибки:
from flask import Flask
from werkzeug.exceptions import HTTPException
app = Flask(__name__)
@app.errorhandler(HTTPException)
def handle_exception(exc):
return f'Error: {exc.name}'
@app.route('/')
def index():
from werkzeug.exceptions import NotFound
raise NotFound()
Результат выполнения кода для адреса /:
Error: Not Found
Смотрите также
-
класс
HTTPException,
который является базовым для всех HTTP-исключений -
атрибут
code,
который хранит код HTTP-статуса -
атрибут
description,
который хранит описание ошибки -
метод
get_response,
который возвращает ответ для исключения