파이썬에서 예외(Exception)가 발생했을 때 에러 라인을 출력하는 방법은 다음과 같습니다
import traceback
try:
# 예외가 발생할 수 있는 코드
...
except Exception as e:
print("예외가 발생했습니다!")
print(traceback.format_exc())
위 코드에서 try 블록 안에 예외가 발생할 수 있는 코드를 작성합니다. 예외가 발생하면 except 블록이 실행되며, traceback.format_exc() 함수를 사용하여 예외 정보와 함께 에러가 발생한 라인을 출력합니다.
traceback.format_exc()는 현재 예외에 대한 traceback 정보를 문자열로 반환합니다. 이 문자열에는 예외 메시지와 함께 예외가 발생한 파일 이름, 라인 번호, 함수 이름 등의 정보가 포함됩니다.
예를 들어, 다음과 같은 코드가 있다고 가정해보겠습니다:
python
import traceback
def divide_numbers(a, b):
return a / b
try:
result = divide_numbers(10, 0)
print(result)
except Exception as e:
print("예외가 발생했습니다!")
print(traceback.format_exc())
위 코드에서 10을 0으로 나누려고 시도하면 ZeroDivisionError 예외가 발생합니다. 이때 except 블록이 실행되며, traceback.format_exc()를 통해 다음과 같은 출력을 얻을 수 있습니다:
예외가 발생했습니다!
Traceback (most recent call last):
File "example.py", line 7, in <module>
result = divide_numbers(10, 0)
File "example.py", line 4, in divide_numbers
return a / b
ZeroDivisionError: division by zero
출력 결과에서 예외가 발생한 파일 이름(example.py), 라인 번호(line 7, line 4), 함수 이름(divide_numbers) 등을 확인할 수 있습니다.
이렇게 traceback 모듈을 사용하여 예외 발생 시 에러 라인을 출력할 수 있습니다.
'Programing' 카테고리의 다른 글
구글 검색 노출을 위한 구글 서치 콘솔에서 색인 요청하기 (0) | 2024.05.10 |
---|---|
자주 까먹는&nbsp; &amp; &lt; &gt; &quot; 의미? (0) | 2024.04.29 |
Libtool library used but 'LIBTOOL' is undefined 해결법 (0) | 2024.04.04 |
[python] A Bytes-Like Object Is Required, Not ‘Str’ (0) | 2024.03.31 |
[블로그 자동화 #1] - 플래닝 시작 (0) | 2024.03.25 |