[Twisted-Python] eated traceback when decorate method already decorated by inlineCallbacks

Sergey Gerasimov sergun at gmail.com
Thu Mar 14 05:40:29 EDT 2013


Hello to all!

Why traceback doesn't include call of g() here?

import traceback
from twisted.internet import defer, reactor

def decor1(f, *argv, **kw):
    @defer.inlineCallbacks
    def decor1():
        try:
            res = yield f(*argv, **kw)
            defer.returnValue(res)       
        except:
            traceback.print_exc()
    return decor1
    
@defer.inlineCallbacks
def g():
    raise AttributeError
    yield defer.succeed(1)

@decor1
@defer.inlineCallbacks
def f():
    yield g()   
    
f()
reactor.run()

I see just:
Traceback (most recent call last):
  File "C:\testing\test.py", line 9, in decor1
    res = yield f(*argv, **kw)
AttributeError





More information about the Twisted-Python mailing list