Po prostu uczę się pisać aplikacje na Twisted i tak robię wiele błędów.Twisted, Odroczony pełny traceback
Załóżmy, że jest to kod:
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)
Mamy błąd w os.startfile (self.path) i 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
Gdybym odkomentowaniu # d.addErrback (samodzielne. command_die)
Mamy trochę "log" tworzyć przez print ('com_die', d):
('com_die', <twisted.python.failure.Failure <type 'exceptions.NameError'>>)
Czy istnieje sposób na uzyskanie pełnego Log \ TraceBack w czasie projektowania?
W tej chwili mam rozumieć, gdzie jest tam nowy błąd, konieczne jest, aby skomentować addErrorback `s