5

私はちょうど Twisted でアプリケーションを書くことを学んでいるので、多くの間違いを犯しています。

次のコードがあるとします。

d = defer.Deferred()
d.addCallback(self.start_app)
#d.addErrback(self.command_die)
d.callback(0)

def start_app(self, d):
    #import os
    return os.startfile(self.path)

def command_die(self, d):
    print ('com_die', d)

os.startfile(self.path) と Big Traceback にエラーがあります:

Unhandled error in Deferred:
Unhandled Error
Traceback (most recent call last):
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "C:/Dropbox/my_py/client3.py", line 100, in command_analiz
    d.callback(i)
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 361, in callback
    self._startRunCallbacks(result)
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 455, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "C:\Python27\lib\site-packages\twisted\internet\defer.py", line 542, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "C:/Dropbox/my_py/client3.py", line 353, in start_eve_d
    return os.startfile(self.path)
exceptions.NameError: global name 'os' is not defined

#d.addErrback(self.command_die) のコメントを外すと

print ('com_die', d) によって作成された「ログ」はほとんどありません。

('com_die', <twisted.python.failure.Failure <type 'exceptions.NameError'>>)

設計時に完全な Log \ TraceBack を取得する方法はありますか?

現時点で、新しいエラーが発生した場所を理解するには、addErrorback `s にコメントする必要があります

4

1 に答える 1