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

Исключение ClientDisconnected

Исключение ClientDisconnected относится к секции exc и наследуется от класса HTTPException. Оно выбрасывается в момент, когда Flask пытается прочитать тело запроса или записать ответ, но клиент уже закрыл соединение. Это часто случается при долгих запросах, когда пользователь закрывает вкладку браузера или обрывается сеть. Исключение не имеет собственных параметров, но наследует атрибуты code, name и description от родительского класса.

Синтаксис

from werkzeug.exceptions import ClientDisconnected

Пример

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

from flask import Flask from werkzeug.exceptions import ClientDisconnected app = Flask(__name__) @app.route('/') def index(): exc = ClientDisconnected() return { 'code': exc.code, 'name': exc.name, 'description': exc.description }

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

{'code': 499, 'name': 'Client Disconnected', 'description': 'The client closed the connection before the response was sent.'}

Пример

Давайте обработаем исключение через errorhandler и вернём клиенту понятный ответ:

from flask import Flask from werkzeug.exceptions import ClientDisconnected app = Flask(__name__) @app.errorhandler(ClientDisconnected) def handle_disconnect(exc): return 'client disconnected', 499 @app.route('/') def index(): raise ClientDisconnected()

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

client disconnected

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

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