[Stackless] A question about exceptions

Kristján V. Jónsson kristjan at ccpgames.com
Fri Nov 24 17:46:41 CET 2006


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
> 

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



More information about the Stackless mailing list