>백엔드 개발 >파이썬 튜토리얼 >프로그램 실행을 중단하지 않고 Python 예외 역추적을 캡처하고 인쇄하려면 어떻게 해야 합니까?

프로그램 실행을 중단하지 않고 Python 예외 역추적을 캡처하고 인쇄하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-11-27 05:27:14347검색

How Can I Capture and Print a Python Exception Traceback Without Stopping Program Execution?

프로그램 종료 없이 예외 역추적 보존

Python에서 예외를 처리할 때 프로그램 흐름을 중단하지 않고 전체 역추적을 캡처하고 인쇄하려는 상황이 발생할 수 있습니다. 기본 제외 블록은 예외가 발생할 때 일반적으로 표시되는 자세한 역추적을 포함하지 않는 예외 객체만 제공합니다.

traceback.format_exc()를 사용하는 솔루션

완전한 역추적을 얻으려면 역추적의 경우 현재 스택 추적을 나타내는 형식화된 문자열을 생성하는 Traceback.format_exc() 함수를 활용할 수 있습니다. 예외.

import traceback

def do_stuff():
    raise Exception("test exception")

try:
    do_stuff()
except Exception:
    print(traceback.format_exc())

출력

이 코드는 try/제외 블록 없이 예외가 발생할 때 인쇄된 역추적을 미러링하여 다음과 같은 출력을 생성합니다.

Traceback (most recent call last):
  File "<stdin>", line 5, in <module>
  File "<stdin>", line 3, in do_stuff
Exception: test exception

traceback.format_exc()를 사용하면 프로그램을 중단하거나 종료하지 않고도 전체 역추적을 캡처하고 인쇄할 수 있으므로 자세한 진단 정보에 액세스할 수 있습니다. 중단 없는 실행을 유지하면서. 이 기술은 로깅 및 디버깅 목적에 특히 유용합니다.

위 내용은 프로그램 실행을 중단하지 않고 Python 예외 역추적을 캡처하고 인쇄하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.