Python 역추적 가장 최근 호출 마지막
Python 역추적은 코드에서 발생한 예외에 대한 정보를 보고합니다. 코드에서 오류 유형 및 추가 정보를 찾는 데 도움이 됩니다.
트레이스백은 예외가 발생한 정확한 라인을 보여줍니다. 일반적인 추적 오류 중 일부는 IndexError
, ImportError
, NameError
, ValueError
, SyntaxError
, TypeError
, AttributeError
및 입니다. 키 오류
.
이 튜토리얼은 Python에서 역추적 오류를 읽고 수정하는 방법을 알려줍니다.
Python에서 Traceback(가장 최근 호출 마지막)
오류 수정
Python에서 몇 가지 역추적 오류의 예를 살펴보겠습니다.
-
IndexError
:IndexError
는 목록에 없는 목록에서 인덱스를 가져오려고 할 때 발생합니다.다음 예제는 실행될 때
IndexError
를 발생시킵니다.mylist = ["car", "bus", "truck"] mylist[3]
출력:
Traceback (most recent call last): File "c:\Users\rhntm\myscript.py", line 2, in <module> mylist[3] IndexError: list index out of range
Traceback(가장 최근 호출 마지막):
아래에서 오류가 발생한 파일 이름과 줄 번호를 찾을 수 있습니다.mylist[5]
는 예외를 발생시키는 정확한 코드를 나타냅니다.추적 오류는 또한 오류 유형과 해당 오류에 대한 정보를 보여줍니다. 위의 경우는
IndexError: list index out of range
입니다.유효한 인덱스 번호를 사용하여 목록에서 항목을 검색하여 문제를 해결할 수 있습니다.
mylist[2]
출력:
'truck'
-
NameError
:NameError
는 코드에 정의되지 않은 변수나 함수를 사용할 때 발생합니다.다음은 Python에서
NameError
의 예입니다.name = input("Enter your name: ") print(username)
출력:
Enter your name: Rohan Traceback (most recent call last): File "c:\Users\rhntm\myscript.py", line 2, in <module> print(username) NameError: name 'username' is not defined
코드에
username
변수가 정의되어 있지 않기 때문에NameError: name 'username' is not defined
라는 오류가 표시됩니다.따라서 코드에 정의된 변수나 함수만 호출해야 합니다.
name = input("Enter your name: ") print(name)
출력:
Enter your name: Rohan Rohan
-
ValueError
: 함수에 유효한 인수를 제공했지만 유효하지 않은 값인 경우ValueError
가 발생합니다.예를 들어
math
모듈의sqrt()
함수에 음수를 제공하면ValueError
가 발생합니다.import math math.sqrt(-5)
출력:
Traceback (most recent call last): File "c:\Users\rhntm\myscript.py", line 2, in <module> math.sqrt(-5) ValueError: math domain error
숫자 인수를 취하는 함수는 올바르지만 음수 값이 유효하지 않아
ValueError: 수학 도메인 오류
가 발생하기 때문입니다.
이제 Python에서 다양한 역추적 오류를 알게 되었습니다. 역추적은 코드에서 오류를 찾는 데 도움이 됩니다.
코드에서 예외가 발생한 이유를 알기 위해 트레이스백을 읽을 수 있습니다. 그런 다음 오류를 수정하고 코드를 성공적으로 다시 실행할 수 있습니다.
관련 문장 - Python Error
- AttributeError 수정: Python에서 'generator' 객체에 'next' 속성이 없습니다.
- AttributeError 해결: 'list' 객체 속성 'append'는 읽기 전용입니다.
- AttributeError 해결: Python에서 'Nonetype' 객체에 'Group' 속성이 없습니다.
- AttributeError: 'Dict' 객체에 Python의 'Append' 속성이 없습니다.
- AttributeError: 'NoneType' 객체에 Python의 'Text' 속성이 없습니다.
- AttributeError: Int 객체에 속성이 없습니다.