Quero salvar o nome do erro e os detalhes do rastreamento em uma variável. Aqui está a minha tentativa.
import sys
try:
try:
print x
except Exception, ex:
raise NameError
except Exception, er:
print "0", sys.exc_info()[0]
print "1", sys.exc_info()[1]
print "2", sys.exc_info()[2]
Resultado:
0 <type 'exceptions.NameError'>
1
2 <traceback object at 0xbd5fc8>
Saída desejada:
0 NameError
1
2 Traceback (most recent call last):
File "exception.py", line 6, in <module>
raise NameError
PS: Sei que isso pode ser feito facilmente usando o módulo traceback, mas quero saber o uso do objeto sys.exc_info () [2] aqui.
<python install path>/Lib/traceback.py
) para obter mais informações.