파이썬에서 예외 처리를 할 때, 에러 메시지와 함께 해당 에러가 발생한 라인 번호를 출력하고 싶을 때가 있습니다. 이는 디버깅 과정에서 매우 유용할 수 있죠. 파이썬의 traceback
모듈을 사용하면 스택 추적 정보를 가져와서 예외가 발생한 파일 이름과 라인 번호를 확인할 수 있습니다. 아래 코드를 살펴봅시다.
import traceback
try:
# 예외 발생 가능한 코드
raise Exception("예외 발생!")
except Exception as e:
# 스택 추적 정보 가져오기
trace = traceback.format_exc()
LOGGER.error(f"Failed to load dm.xml: {e}\n{trace}")
위 코드에서는 try
블록 내에서 일부러 예외를 발생시켰습니다. 그리고 except
블록에서 traceback.format_exc()
함수를 호출하여 스택 추적 정보를 문자열로 가져왔습니다. 이 정보를 LOGGER.error()
함수를 사용하여 에러 메시지와 함께 출력합니다.
출력 결과는 다음과 같은 형태일 것입니다.
ERROR:root:Failed to load dm.xml: 예외 발생!
Traceback (most recent call last):
File "example.py", line 5, in <module>
raise Exception("예외 발생!")
Exception: 예외 발생!
출력 내용을 보면 예외 메시지인 "예외 발생!"
과 함께 스택 추적 정보가 포함되어 있습니다. 스택 추적 정보에는 예외가 발생한 파일 이름("example.py"
)과 라인 번호(line 5
)가 명시되어 있습니다. 이렇게 traceback
모듈을 활용하면 예외 처리 시에 에러가 발생한 위치를 정확히 파악할 수 있어 효과적인 디버깅이 가능합니다.
더 나아가, 로깅 시에 traceback
모듈을 사용하여 스택 추적 정보를 포함시키는 것은 개발 과정에서 매우 도움이 됩니다. 에러 발생 시 해당 에러의 위치를 빠르게 파악할 수 있어 문제 해결 시간을 단축시킬 수 있기 때문이죠. 실제 개발 과정에서는 다양한 예외 상황이 발생할 수 있습니다. 이러한 예외 상황을 적절히 처리하고 에러의 원인을 신속하게 파악하는 것이 중요합니다. traceback
모듈을 활용한 라인 번호 출력은 이러한 과정에 큰 도움이 될 것입니다. 아래 영상에서는 파이썬의 예외 처리와 traceback 모듈에 대해 더 자세히 설명하고 있습니다. 관심 있는 분들은 참고해 보시기 바랍니다.
예외 처리는 개발자라면 반드시 알아야 할 개념입니다. 파이썬에서 traceback
모듈을 활용하여 에러 발생 위치를 명확히 파악하는 방법을 익히고, 더 견고한 코드를 작성해 보시기 바랍니다.