는 코드를 구문 분석할 때 발생하는 오류를 의미합니다. 코드가 Python 구문 규칙을 준수하지 않는 경우 Python 인터프리터는 구문 분석 중에 SyntaxError 구문 오류를 보고하는 동시에 오류가 감지된 가장 빠른 명령문을 명확하게 지적합니다. 예:
print "Hello,World!"
우리는 Python 3.0이 더 이상 위의 작성 방법을 지원하지 않는다는 것을 알고 있으므로 실행 시 인터프리터는 다음 오류를 보고합니다.
SyntaxError: Missing parentheses in call to 'print'
구문 오류는 대부분 개발자의 부주의로 인해 발생하며 실제 오류입니다. sense 오류는 인터프리터가 용납할 수 없습니다. 따라서 프로그램의 모든 문법 오류가 수정된 경우에만 프로그램을 실행할 수 있습니다.
런타임 오류, 즉 프로그램의 구문은 올바르지만 런타임 시 오류가 발생합니다. 예:
a = 1/0
위 코드는 "1을 0으로 나누어 a에 할당한다는 의미입니다. 0은 제수로서 의미가 없으므로 실행 후 다음 오류가 생성됩니다.
Traceback (most recent call last): File "75aa4689b22f032d3efc07fedce8baa7", line 1, in 4225fa317875f3e92281a7b1a5733569 1/0 ZeroDivisionError: division by zero
위의 실행 출력 결과에서 처음 두 문단은 오류 위치를 나타내고, 마지막 문장은 오류 유형을 나타냅니다. Python에서는 이러한 종류의 런타임 오류를 Exceptions
라고 합니다. 일반적인 예외는 다음과 같습니다.Meaning | Instances | |
AssertionError | 프로그램은 중지를 실행하고 이 예외를 발생시킵니다. |
>>> Assert 1c00c46f3b4b0338a3e44d48bbb2a89b8> s="hello">>> s.lenAttributeError: 'str' 객체에 'len' 속성이 없습니다 |
이 예외가 발생합니다 | >>> s="hello">>> s[5]IndexError: 문자열 인덱스가 범위를 벗어났습니다 | |
사전에 존재하지 않는 키워드를 검색하면 발생합니다 | >>> deco_dict={"age": 20}>>> name' | NameError|
>>> hello | NameError: 이름 'hello'가 정의되지 않았습니다
| TypeError|
>>> 1+"2" | TypeError: +에 대해 지원되지 않는 피연산자 유형: 'int' 및 'str'
| ZeroDivisionError|
>>> a = 1/0 | ZeroDivisionError: 0으로 나누기 |
위 내용은 Python에서 예외를 포착하고 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!