
On 30/09/10 15:13, Chris Withers wrote:
On 30/09/2010 14:39, Jonathan Lange wrote:
On Thu, Sep 30, 2010 at 2:36 PM, Chris Withers<chris@simplistix.co.uk> wrote: ...
Is there any way I can get both errbacks *and* exceptions handled nicely in my `loop` call?
You know about defer.maybeDeferred, right?
Yep, the problem is with `loop` implemented like so:
def loop(): d = maybeDeferred(doStuff) d.addErrback(partial(log.err,_why='Unhandled scheduled exception'))
So, how come my log.err doesn't get used for the AttributeError on connector?
If you mean in your most recent "test_looping.py" example, it still uses reactor.callLater. The call stack has gone away by the time the call is made, so the exception just propagates up to the top level, where it's logged. I honestly think a more complete example showing the real Twisted API that's causing you unhandled errors would help here.