Re: récupération des variables locales après une exception
William Dode a écrit :
> slt,
>
> Pour améliorer mon système de rattrapage d'erreurs j'aimerai récupérer
> les variables locales juste avant l'erreur, hors local() ne me le permet
> pas.
>
> def f():
> a=5
> raise Exception('!')
>
> try:
> f()
> except:
> #ICI je voudrai récupérer la valeur de a par ex
>
> des idées ?
>
import inspect
def f(arg):
a = 42
raise Exception('yaddayadda')
try:
f('wot')
except Exception, e:
t = inspect.trace()
print t[1][0].f_locals
=> {'a': 42, 'arg': 'wot'}
HTH
|