python - How to pass an object from callback to errback (twisted)? -


i have callback chain errback @ end. if of callbacks fail, need pass object used on errback.

how can pass object callback errback?

the following code exemplifies want do:

from twisted.internet.defer import failure twisted.internet import defer   class codmsg(object):     def __init__(self, code, msg):         self.code = code         self.msg = msg  class resource(object):      @classmethod     def checkcondition(cls, result):         if result == "error":             cdm = codmsg(1, 'error 1')             raise failure, cdm         else:             return "ok"      @classmethod     def erbacktst (cls, result):          ####### how value of cdm here? ########  <<<===         print 'error:'         print result         return result   d = defer.deferred()  d.addcallback(resource.checkcondition)   d.adderrback(resource.erbacktst)  d.callback("error")  print d.result 

in case can raise exception, containing info need

for example:

from twisted.internet import defer  class mycustomexception(exception):     def __init__(self, msg, code):         self.code = code         self.message = msg  def callback(result):     print result     raise mycustomexception('message', 23)  def errback(failure):     # failure.value exception instance raised in callback     print failure.value.message     print failure.value.code  d = defer.deferred() d.addcallback(callback) d.adderrback(errback)  d.callback("error") 

also better understanding deffereds , async programming can read nice twisted tutorial http://krondo.com/an-introduction-to-asynchronous-programming-and-twisted/. uses little bit outdated twisted version in examples still exellent source start learning twisted