me too, may be its because of the way I'm calling the chain: return ( self.abc1(). addErrback(self.handleFailure1). addCallback(self.abc2,args). addCallback(self.abc3). addErrback(self.handleFailure2) )
I see no call to self.handleFailure1() at all, abc1() just fail on exception (if it was raised). Quoting "Valeriy Pogrebitskiy" <vpogr...@verizon.net>: > I am confused... If an exception is being raised in adc1() - errback is > supposed to be called and passed your Exception instance (wrapped up as an > instance of twisted.python.failure.Failure). > > Kind regards, > > Valeriy Pogrebitskiy > Email: vpogr...@iname.com > > > -----Original Message----- > From: twisted-python-boun...@twistedmatrix.com > [mailto:twisted-python-boun...@twistedmatrix.com] On Behalf Of > vit...@synapticvision.com > Sent: Thursday, October 22, 2009 2:02 PM > To: twisted-python@twistedmatrix.com > Subject: Re: [Twisted-Python] How to chain deferred calls > > > Thank you for response. > > the issue is if adc1() will raise up an exception, than following it > .addErrback() will never be called cause adc1() will exit or raise > Exception. > > Quoting "Valeriy Pogrebitskiy" <vpogr...@verizon.net>: > >> Add another .addErrback() directly after adc1() - to handle that >> specific exception... >> >> >> Kind regards, >> >> Valeriy Pogrebitskiy >> vpogr...@verizon.net >> >> >> >> >> On Oct 21, 2009, at 4:12 PM, vit...@synapticvision.com wrote: >> >>> hi, >>> how can I chain in defer methods that could raise exception while >>> showing the exception that coming from method? I mean, if I'll do: >>> return ( >>> adc1().abc2().abc3().addErrback("Common2AllException") >>> ) >>> than "Common2AllException" will be raised if abc1() raise Exception, >>> but I'd like to see the adc1() own exception (and not >>> "Common2AllException") ? >>> >>> >>> >>> t = Test() >>> def abc1(self): >>> if t.test() is None: >>> raise Exception("Error11") >>> else: >>> return 1 >>> >>> def abc2(self): >>> if t.test() is None: >>> raise Exception("Error12") >>> else: >>> return 1 >>> >>> def abc3(self): >>> if t.test() is None: >>> raise Exception("Error13") >>> else: >>> return 1 >>> >>> >>> >>> >>> Appreciate the help. >>> >>> >>> _______________________________________________ >>> Twisted-Python mailing list >>> Twisted-Python@twistedmatrix.com >>> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >> >> >> _______________________________________________ >> Twisted-Python mailing list >> Twisted-Python@twistedmatrix.com >> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python >> > > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > > > _______________________________________________ > Twisted-Python mailing list > Twisted-Python@twistedmatrix.com > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python > _______________________________________________ Twisted-Python mailing list Twisted-Python@twistedmatrix.com http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python