NeBlackCat <[EMAIL PROTECTED]> wrote:
>  I've now also looked at this from a traceback and stack frame walking 
>  perspective as well and it seems impossible, ie. it see,s impossible to 
>  create a function AmIHandlingAnException() which would behave as follows:
> 
>    try:
>        a=a+1
>    except:
>        pass
> 
>    try:
>        AmIHandlingAnException()        # returns FALSE
>        b = b + 1
>    except:
>        AmIHandlingAnException()        # returns TRUE
>        try:
>            AmIHandlingAnException()    # returns TRUE
>        except:
>            pass
>            
>    AmIHandlingAnException()            # returns FALSE
>        
>  The only way I can see to do it is to use something like the 'inspect' 
>  module to walk up the stack and, for each frame, walk lines of code 
>  backwards to determine whether or not you're in an except: block. Of 
>  course that would be horribly inefficient.
> 
>  I'm rather stunned by this (this was the 'easy' bit that I left to 
>  last!).

Why don't you tell us what you are actually trying to achieve and we
can see if we can come up with a more pythonic solution?  The fact
that you are running into limits of the language like this as a new
python programmer probably means you aren't thinking in python yet.

-- 
Nick Craig-Wood <[EMAIL PROTECTED]> -- http://www.craig-wood.com/nick
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to