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

출력은 다음과 같다 : python에서 traceback을 사용하여 오류 메시지를 변수에 할당하는 방법은 무엇입니까?

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

그러나 내가 출력을 인쇄 할 traceback.print_exc()을 사용하지 않습니다. 대신 출력을 변수에 저장하려고합니다. 어떻게해야합니까?

+1

관련 항목 : [변수에 traceback/sys.exc_info() 값을 저장하는 방법?] (https://stackoverflow.com/questions/8238360/how-to-save-traceback-sys-exc-info 값 - 인 - 변수) –

답변

0

이 시도 :

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


print(error) 
3

사용 traceback.format_exc() :

import traceback 

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

Python documentation에서 :

traceback.format_exc를 ([제한])

이것은 print_exc (limit)와 비슷하지만 파일에 인쇄하는 대신 문자열을 반환합니다.