Ejemplo de cómo obtener las variables locales a la función que lanzo una exception.
En realidad son los locals de la funcion llamada.
Lo uso para pasarle los locals de la funcion a un template de django desde un decorador.
import inspect def fun(): a, b = 1, "dos" raise Exception("hi!") try: fun() except Exception, error: fun_frame = inspect.trace()[1][0] print "locals in fun: ", fun_frame.f_locals del fun_frame