[python] 예외 처리와 호출 스택 추적(traceback)

파이썬에서 예외 처리는 코드에서 발생할 수 있는 예외 상황에 대비하는 중요한 부분입니다. 예외 처리를 통해 프로그램이 예기치 않은 상황에서 실행을 계속할 수 있고, 사용자에게 적절한 오류 메시지를 제공할 수 있습니다.

이 글에서는 파이썬에서의 예외 처리와 호출 스택 추적에 대해 알아보겠습니다.

예외 처리

파이썬에서 예외 처리는 try, except, finally 키워드를 사용하여 구현됩니다. 예외가 발생할 수 있는 코드를 try 블록 안에 작성하고, 예외가 발생했을 때 처리할 코드를 except 블록에 작성합니다. finally 블록은 예외 발생 여부와 상관없이 항상 실행되는 코드를 작성하는 데 사용됩니다.

try:
    # 예외가 발생할 수 있는 코드
    result = 10 / 0
except ZeroDivisionError:
    # 예외 처리 코드
    print("0으로 나눌 수 없습니다.")
finally:
    # 항상 실행되는 코드
    print("작업이 완료되었습니다.")

호출 스택 추적

파이썬은 예외가 발생한 곳부터 호출된 함수들의 스택을 추적하여 예외가 발생한 원인을 파악할 수 있도록 해줍니다. 이를 통해 코드의 오류를 신속하게 파악하고 수정할 수 있습니다.

예외가 발생했을 때 호출 스택을 출력하고자 할 때는 traceback 모듈을 사용합니다.

import traceback

def func1():
    return 10 / 0

def main():
    try:
        func1()
    except ZeroDivisionError:
        traceback.print_exc()

main()

traceback.print_exc()를 사용하면 호출 스택과 함께 예외 메시지가 출력되어 디버깅에 도움이 됩니다.

이상으로 파이썬에서의 예외 처리와 호출 스택 추적에 대해 알아보았습니다. 더 많은 정보는 파이썬 공식 문서를 참고하시기 바랍니다.