[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()
를 사용하면 호출 스택과 함께 예외 메시지가 출력되어 디버깅에 도움이 됩니다.
이상으로 파이썬에서의 예외 처리와 호출 스택 추적에 대해 알아보았습니다. 더 많은 정보는 파이썬 공식 문서를 참고하시기 바랍니다.