If I understand correctly what you are referring to, this is a feature. You're supposed to say: try: return f() except: pass sys.exc_info() i.e. the exc_info() must remain accessible. --Guido van Rossum (home page: http://www.python.org/~guido/)