Искаженная необработанная ошибка

Когда запущенный реактор с перекрученным потоком работает и в отложенном режиме возникает исключение, которое не было обнаружено, на терминал выводится «Необработанная ошибка» вместе с трассировкой и исключением. Можно ли обработать / перехватить эти исключения (например, установить обратный вызов или переопределить метод)?

РЕДАКТИРОВАТЬ: Я знаю, что могу поймать сбой, добавив ошибку в deferrerd. Я хочу знать, есть ли способ перехватить необработанный сбой / исключение, которое прошло по цепочке до реактора.

РЕДАКТИРОВАТЬ: По сути, мне интересно, имеет ли скрученный реактор глобальный обработчик ошибок или что-то, к чему можно получить доступ. Интересно, потому что он печатает трассировку и ошибку из-за сбоя.

Пример:

Unhandled Error
Traceback (most recent call last):
  File "/var/projects/python/server.py", line 359, in run_server
    return server.run()
  File "/var/projects/python/server.py", line 881, in run
    reactor.run()
  File "/usr/local/lib/python2.6/dist-packages/Twisted-11.0.0-py2.6-linux-x86_64.egg/twisted/internet/base.py", line 1162, in run
    self.mainLoop()
  File "/usr/local/lib/python2.6/dist-packages/Twisted-11.0.0-py2.6-linux-x86_64.egg/twisted/internet/base.py", line 1171, in mainLoop
    self.runUntilCurrent()
--- <exception caught here> ---
  File "/usr/local/lib/python2.6/dist-packages/Twisted-11.0.0-py2.6-linux-x86_64.egg/twisted/internet/base.py", line 793, in runUntilCurrent
    call.func(*call.args, **call.kw)
  File "/var/projects/python/server.py", line 524, in monitor
    elapsed = time.time() - info.last
exceptions.NameError: global name 'info' is not defined
9
задан user369450 8 August 2011 в 02:54
поделиться