본문 바로가기
Python/Python FAQ

Python 프로그램을 중단/종료하지 않고 전체 예외 추적을 잡아서 출력하는 방법은 무엇인가요?, How to catch and print the full exception traceback without halting/exiting the program?

by 베타코드 2023. 5. 24.
반응형

질문


나는 종료하지 않고 예외를 잡고 기록하고 싶습니다. 예를 들어,

try:
    do_stuff()
except Exception as err:
    print(Exception, err)
    # 여기에서 전체 추적을 인쇄하고 싶습니다.
    # 예외 이름과 세부 정보뿐만 아니라

나는 예외가 발생할 때 try/except가 예외를 가로채는 것 없이 정확히 같은 출력을 인쇄하고 싶으며, 내 프로그램에서 종료되지 않기를 원합니다.


답변


traceback.format_exc() 또는 sys.exc_info()는 원하는 정보가 있다면 더 많은 정보를 제공합니다.

import traceback
import sys

try:
    do_stuff()
except Exception:
    print(traceback.format_exc())
    # 또는
    print(sys.exc_info()[2])
반응형

댓글