본문 바로가기
Python

[Python] exception 메시지 자세히 출력하기 (Traceback)

by bryan.oh 2022. 10. 25.
반응형

try except 에서 Traceback log 찍기

 

바로 예제 보시죠

try:
    print('오류 전')
    0/0
    print('오류 후')
except Exception as ex:
    print('except 로 들어옴')
    print(ex)

실행 결과는

오류 전
except 로 들어옴
division by zero

이렇게 나옵니다.

print(str(ex)) 도 마찬가지죠.

ex 에서 뭐를 뽑을 수 있을까요?

음.. 뭐 없네요 ㅎㅎ

 

logging 이나 개발자에게 알람 메시지를 보내고 싶은데,

딸랑 'division by zero' 이라고 보내면..

뭐 어디서 오류난건지 찾는게 더 어렵겠죠.

 

이럴때 traceback 을 쓰면 자세한 오류 내용을 문자열로 받아올 수 있습니다.

수정된 코드

import traceback


try:
    print('오류 전')
    0/0
    print('오류 후')
except Exception as ex:
    print('except 로 들어옴')
    err_msg = traceback.format_exc()
    print(err_msg)

출력 결과는

오류 전
except 로 들어옴
Traceback (most recent call last):
  File "/Users/user/PycharmProjects/Test/venv/exception_test/exception_test.py", line 6, in <module>
    0/0
ZeroDivisionError: division by zero

이렇게 나오네요.

그럼 err_msg 를 메일이나 문자로 개발 담당자에게 쏴줍니다 !

 

이런 주옥같은 알림 시스템..

728x90
반응형

댓글