2017-12-29 18 views
0
import traceback 
try: 
    1/0 
except Exception,e: 
    traceback.print_exc() 

Die Ausgabe ist wie folgt:In Python, wie Traceback verwenden, um die Fehlermeldung an eine Variable zuzuweisen?

Traceback (most recent call last): 
File "test_traceback.py", line 3, in <module> 
1/0 
ZeroDivisionError: integer division or modulo by zero 

aber ich will nicht traceback.print_exc() verwenden, um die Ausgabe zu drucken. Stattdessen möchte ich die Ausgabe in einer Variablen speichern. Wie kann ich das machen?

+1

Verwandte: [? Wie Traceback/sys.exc_info() Werte in einer Variablen speichern] (https://stackoverflow.com/questions/8238360/how-to-save-traceback-sys-exc-info -Werte in einer Variablen –

Antwort

0

Versuchen Sie folgendes:

import traceback 
try: 
    1/0 
except Exception as e: 
    error = traceback.format_exc() 


print(error) 
3

Verwendung traceback.format_exc():

import traceback 

try: 
    1/0 
except Exception: 
    trace = traceback.format_exc() 
    print trace 

Vom Python documentation:

traceback.format_exc ([Limit])

Dies ist wie print_exc (limit), gibt aber eine Zeichenfolge zurück, anstatt in eine Datei zu drucken.

Verwandte Themen