[Stackless] A question about exceptions

Steve Holden steve at holdenweb.com
Fri Nov 24 19:47:24 CET 2006


I suppose it's required by a raise statement with no exception. This can 
be executed at any time after an exception is caught.Can't think of any 
other reason anyway.

regards
  Steve

Kristján V. Jónsson wrote:
> Well, Perhaps My question wasn't clear enough:
> 
> def foo():
> 	try:
> 		1/0
> 	except ZeroDivisionError:
> 		HandleError()
> 		#sys.clear_error()  #this appears necessary
> 		
> 	#exception has been handled.
> 	import sys
> 	print sys.get_exc() #here we still get the exception.  Why?
> 
> My question is more, why are we keeping the exception state around with the frame _after_ any handling has taken
> place?  If we want to examine the exception at some later date, we can store it using sys.get_exc() and do it
> excplicitly.  It seems strange to hang on to it after we have handled it, (in fact, requiring exc_clear() to get rid of the gunk sometimes)
> which is why I am asking if there is some obscure language design or implementation feature that requires it.
> 
> K
> 
>> -----Original Message-----
>> From: stacklesspython at dfackrell.mailshell.com 
>> [mailto:stacklesspython at dfackrell.mailshell.com] 
>> Sent: 24. nóvember 2006 16:26
>> To: Kristján V. Jónsson; stackless at stackless.com
>> Subject: Re: [Stackless] A question about exceptions
>>
>> Kristján,
>>
>> The state and frame are kept around for the handler.  Having 
>> the frame around allows you to use Python's incredible 
>> introspection ability to analyze the variables, call path, 
>> and so on.  Hope this helps.
>>
>> Daniel Fackrell
>>
>> From Kristján V. Jónsson <kristjan at ccpgames.com> on 24 Nov 2006:
>>
>>> Here is a quick question for you, before I make a fool of 
>> my self on 
>>> the more mainstream Python lists..
>>>  
>>> Why is the exception state kept around with a frame after it is 
>>> handled?=
>>>   Hence the need for sys.exc_clear()
>>>  
>>> Is this an implementation issue or a language design feature?
>>>  
>>> Cheers,
>>>  
>>> Kristján
>> _______________________________________________________
>> The FREE service that prevents junk email http://www.mailshell.com


-- 
Steve Holden       +44 150 684 7255  +1 800 494 3119
Holden Web LLC/Ltd          http://www.holdenweb.com
Skype: holdenweb       http://holdenweb.blogspot.com
Recent Ramblings     http://del.icio.us/steve.holden


_______________________________________________
Stackless mailing list
Stackless at stackless.com
http://www.stackless.com/mailman/listinfo/stackless



More information about the Stackless mailing list