Hi Paul >>>>> "Paul" == Paul Goins <gene...@vultaire.net> writes:
You're only printing the exception, not a full traceback, so you don't see much. I tend to write what you're doing as follows: from twisted.python import log @defer.inlineCallbacks def xmlrpc_dosomething(self): d = self._do_something_else() d.addErrback(log.err) result = yield d defer.returnValue(result) If you try that you'll see a full traceback. The above lets log.err handle the failure that comes back via the errback on the deferred you get from _do_something_else, and log.err knows how to get the full traceback. I don't know if it's clear, but whenever you call an inlineCallbacks decorated method/func, you get a deferred back (unless you happen to mistakenly use inlineCallbacks to decorate something that's not a generator). You can add errbacks to that deferred, just like any other, and if you're making the call from inside another inlineCallbacks decorated function, you can just do as above: add call/errbacks to the deferred, and then yield it. Terry _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python