[Twisted-Python] Handling errors when using deferToThread
Charlie Moad
cwmoad at gmail.com
Fri Oct 28 09:39:30 MDT 2005
def doLongCalculation():
return 1/0
This will raise a dividebyzero error. In which case your errback will
be called. You don't need the try/except block because when an
exception is raised your errback will be called instead of the
callback.
On 10/28/05, Pedro Sanchez <psanchez at nortel.com> wrote:
> On Sat, 2005-29-10 at 00:56 +1000, Andrew Bennetts wrote:
> > On Fri, Oct 28, 2005 at 10:35:08AM -0400, Pedro Sanchez wrote:
> > [...]
> > > This works well as long as doLongCalculation() doesn't fail for
> > > any reason. But if it does, how can it trigger an errBack?
> >
> > Just raise an exception.
> >
> > > I want to do something like this:
> > >
> > > from twisted.internet import threads
> > > def doLongCalculation():
> > > try:
> > > # .... do long calculation here ...
> > > except:
> > > < what can I return here to tell that
> > > the calculation failed? >
> > > return 3
> >
> > The literal answer here is a bare raise statement. But better would be to
> > not use the try-except at all.
> >
> Why? What's the alternative?
>
> > Try inserting something like "1/0" into doLongCalculation and see what
> > happens.
> >
> I don't understand your "1/0" suggestion. Can you elaborate a bit?
>
> Thanks.
>
> --
> Pedro
>
> > -Andrew.
> >
> >
> > _______________________________________________
> > Twisted-Python mailing list
> > Twisted-Python at twistedmatrix.com
> > http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
> >
>
>
> _______________________________________________
> Twisted-Python mailing list
> Twisted-Python at twistedmatrix.com
> http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python
>
More information about the Twisted-Python
mailing list