[Twisted-Python] trouble with missing exceptions
markus espenhain
me at mocisoft.com
Mon Oct 15 10:42:16 MDT 2007
Andrew Bennetts schrieb:
> markus espenhain wrote:
>> hi
>>
>> i've written a tcp client - using a derived NetstringReceiver, a
>> ReconnectingClientFactory and just reactor.connectTCP + reactor.run.
>>
>> the problem is that after the connection is made - every exception that
>> occurred seems to be lost and the execution at this point discontinues -
>> also with a try/catch block around it
>>
>> class MyProtocol(basic.NetstringReceiver):
>> ...
>> def onData(self, data):
>> print data
>> try:
>> print 'before' # printed
>> raise Exception('err')
>> except Exception, e:
>> print e # nothing
>> print 'after' # nothing
>>
>> after print 'before' nothing more in onData happens - anyway the app
>> runs and on new data the onData is entered again
>>
>> i poke around 2h or so and i can't remember to had this problem before
>> ... so anybody can give me a hint or maybe something that i miss?
>
> I'm guessing this isn't literally code you've tried to run, because that will
> always print e and 'after'. There's nothing in Twisted that changes the way
> Python's exception handling works.
>
> Taking a guess that by “raise Exception('err')” you mean you call a function
> that somehow raises an exception your “except Exception:” block fails to catch,
> perhaps try a bare “except:”. It might be a string exception.
>
> Otherwise, I'd try making as minimal an example of the problem as you can that
> can reproduce the problem, and if you're still stuck, posting that to this list
> (or if it doesn't involve Twisted, comp.lang.python). Or use “import pdb;
> pdb.set_trace()” to insert a breakpoint and step through the code in the
> debugger.
>
> -Andrew.
>
hi
it was a syntax error between print 'before' and raise - a lot deeper in
the code, which - for whatever reason - didn't pop up ... pdb helped -
thanks
markus
More information about the Twisted-Python
mailing list