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

Событие got_request_exception

Событие got_request_exception относится к сигналам Flask и отправляется в момент, когда при обработке запроса возникло исключение, которое не было перехвачено внутри представления. Сигнал позволяет централизованно логировать ошибки, отправлять уведомления или выполнять очистку ресурсов. Обработчику сигнала передаётся объект исключения в качестве аргумента exception, а также стандартный отправитель sender.

Синтаксис

from flask import got_request_exception got_request_exception.connect(receiver, sender=None, weak=True)

Пример

Давайте подключим обработчик сигнала и выведем информацию о возникшем исключении в консоль:

from flask import Flask, got_request_exception app = Flask(__name__) def log_exception(sender, exception, **extra): print('Exception:', exception) got_request_exception.connect(log_exception, app) @app.route('/') def index(): raise ValueError('abcde')

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

"Exception: abcde"

Пример

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

from flask import Flask, got_request_exception app = Flask(__name__) def handle_exception(sender, exception, **extra): print('Handled:', exception) got_request_exception.disconnect(handle_exception, app) got_request_exception.connect(handle_exception, app) @app.route('/') def index(): raise RuntimeError('user')

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

"Handled: user"

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

  • класс Signal,
    который представляет собой сигнал Flask
  • метод connect,
    который подключает обработчик к сигналу
  • метод disconnect,
    который отключает обработчик от сигнала
  • событие request_finished,
    которое срабатывает после завершения обработки запроса
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить