On Sep 29, 2010, at 6:56 PM, Chris Withers wrote:

> On 29/09/2010 22:06, exar...@twistedmatrix.com wrote:
>>> That's one side of things, sure, but how can I write a scheduler which
>>> handles the current situation?
>> 
>> Beats me.
> 
> So, if some buggy code that should be doing a deferred callback/errback 
> instead raises an exception, you're basically screwed?
> 
> There's really no way to write a "safety belt" handler that will record 
> the problem but then keep going?!
> 
> Chris

There are so many ways.

You can add a log observer that handles isError=True log messages.

You can write a 'safetyBelt' function that catches the exception and does 
something with it.

You can always invoke your code with maybeDeferred, which will turn exceptions 
into failures for you.

You can use inlineCallbacks, where in 'x = yield y()', y() raising an exception 
and y() returning a failed Deferred are basically indistinguishable to the 
caller.

And there are hundreds of subtle variations on each of these approaches.

Why would you say there's no way?
_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to