ツイストリアクターが実行中で、キャッチされない遅延内で例外が発生すると、「未処理エラー」がトレースバックと例外とともに端末に出力されます。これらの例外を処理/インターセプトすることは可能ですか(たとえば、コールバックを設定するか、メソッドをオーバーライドします)?
編集:deferrerdにerrbackを追加することで、失敗をキャッチできることを認識しています。私が知りたいのは、チェーンを上って原子炉に到達した未処理の障害/例外をインターセプトする方法があるかどうかです。
編集:基本的に、ツイストリアクターにグローバルエラーハンドラーまたはアクセス可能なものがあるかどうか疑問に思っています。失敗からのトレースバックとエラーを出力するので疑問に思います。
例:
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