산업 제조
산업용 사물 인터넷 | 산업자재 | 장비 유지 보수 및 수리 | 산업 프로그래밍 |
home  MfgRobots >> 산업 제조 >  >> Industrial programming >> python

Python 오류 및 내장 예외

Python 오류 및 기본 제공 예외

이 자습서에서는 Python에 내장된 다양한 유형의 오류 및 예외에 대해 학습합니다. 파이썬 인터프리터에 오류가 발생할 때마다 발생합니다.

동영상:Python 예외 처리

프로그램을 작성하는 동안 실행하려고 할 때 오류가 발생하는 특정 실수를 할 수 있습니다. 파이썬 프로그램은 처리되지 않은 오류가 발생하는 즉시 종료됩니다. 이러한 오류는 크게 두 가지 클래스로 분류할 수 있습니다.

  1. 구문 오류
  2. 논리적 오류(예외)
<시간>

Python 구문 오류

언어의 적절한 구조(구문)를 따르지 않아 발생하는 오류를 구문 오류라고 합니다. 또는 파싱 오류 .

한 가지 예를 살펴보겠습니다.

>>> if a < 3
  File "<interactive input>", line 1
    if a < 3
           ^
SyntaxError: invalid syntax

예에서 볼 수 있듯이 화살표는 구문 분석기가 구문 오류가 발생한 위치를 나타냅니다.

콜론 : if에 누락되었습니다. 성명서.

<시간>

Python 논리 오류(예외)

런타임 시(구문 테스트를 통과한 후) 발생하는 오류를 예외라고 합니다. 또는 논리적 오류 .

예를 들어 존재하지 않는 파일(읽기용)을 열려고 할 때 발생합니다(FileNotFoundError ), 숫자를 0으로 나누십시오(ZeroDivisionError ) 또는 존재하지 않는 모듈을 가져오려고 시도합니다(ImportError ).

이러한 유형의 런타임 오류가 발생할 때마다 Python은 예외 객체를 생성합니다. 제대로 처리되지 않으면 해당 오류가 발생한 이유에 대한 세부 정보와 함께 해당 오류에 대한 역추적을 인쇄합니다.

Python이 이러한 오류를 처리하는 방법을 살펴보겠습니다.

>>> 1 / 0
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
ZeroDivisionError: division by zero

>>> open("imaginary.txt")
Traceback (most recent call last):
 File "<string>", line 301, in runcode
 File "<interactive input>", line 1, in <module>
FileNotFoundError: [Errno 2] No such file or directory: 'imaginary.txt'
<시간>

Python 내장 예외

잘못된 작업은 예외를 발생시킬 수 있습니다. Python에는 해당 오류가 발생할 때 발생하는 내장 예외가 많이 있습니다. 내장된 local()를 사용하여 내장된 모든 예외를 볼 수 있습니다. 기능:

print(dir(locals()['__builtins__']))

locals()['__builtins__'] 내장 예외, 함수 및 속성의 모듈을 반환합니다. dir 이러한 속성을 문자열로 나열할 수 있습니다.

Python 프로그래밍의 일반적인 내장 예외와 그 원인이 되는 오류는 다음과 같습니다.

예외 오류 원인
AssertionError assert일 때 발생 문이 실패했습니다.
AttributeError 속성 할당 또는 참조가 실패할 때 발생합니다.
EOFError input()일 때 발생 함수가 파일 끝 조건에 도달했습니다.
FloatingPointError 부동 소수점 연산이 실패할 때 발생합니다.
GeneratorExit 제너레이터의 close()일 때 발생 메소드가 호출됩니다.
ImportError 가져온 모듈을 찾을 수 없을 때 발생합니다.
IndexError 시퀀스의 인덱스가 범위를 벗어날 때 발생합니다.
KeyError 사전에서 키를 찾을 수 없을 때 발생합니다.
KeyboardInterrupt 사용자가 인터럽트 키(Ctrl+C)를 눌렀을 때 발생 또는 Delete ).
MemoryError 작업에 메모리가 부족할 때 발생합니다.
NameError 변수가 지역 또는 전역 범위에서 발견되지 않을 때 발생합니다.
NotImplementedError 추상 메소드에 의해 발생합니다.
OSError 시스템 작동이 시스템 관련 오류를 일으킬 때 발생합니다.
OverflowError 산술 연산의 결과가 너무 커서 표현할 수 없을 때 발생합니다.
ReferenceError 가비지 수집된 참조에 액세스하기 위해 약한 참조 프록시가 사용될 때 발생합니다.
RuntimeError 오류가 다른 범주에 속하지 않을 때 발생합니다.
StopIteration next()에 의해 발생 iterator에서 더 이상 반환할 항목이 없음을 나타내는 함수입니다.
SyntaxError 구문 오류가 발생하면 파서에 의해 발생합니다.
IndentationError 올바르지 않은 들여쓰기가 있을 때 발생합니다.
TabError 들여쓰기가 일관성 없는 탭과 공백으로 구성된 경우 발생합니다.
SystemError 인터프리터가 내부 오류를 감지하면 발생합니다.
SystemExit sys.exit()에 의해 발생 기능.
TypeError 함수나 연산이 잘못된 유형의 객체에 적용될 때 발생합니다.
UnboundLocalError 함수나 메서드에서 지역 변수에 대한 참조가 만들어졌지만 해당 변수에 바인딩된 값이 없을 때 발생합니다.
UnicodeError 유니코드 관련 인코딩 또는 디코딩 오류가 발생할 때 발생합니다.
UnicodeEncodeError 인코딩 중 유니코드 관련 오류가 발생하면 발생합니다.
UnicodeDecodeError 디코딩 중 유니코드 관련 오류가 발생하면 발생합니다.
UnicodeTranslateError 번역 중 유니코드 관련 오류가 발생하면 발생합니다.
ValueError 함수가 올바른 유형의 인수를 가져오지만 값이 올바르지 않을 때 발생합니다.
ZeroDivisionError 나누기 또는 모듈로 연산의 두 번째 피연산자가 0일 때 발생합니다.

필요한 경우 Python에서 자체 예외를 정의할 수도 있습니다. 이에 대해 자세히 알아보려면 Python 사용자 정의 예외를 방문하십시오.

try을 사용하여 Python에서 이러한 내장 및 사용자 정의 예외를 처리할 수 있습니다. , exceptfinally 진술. 이에 대해 자세히 알아보려면 Python try, except 및 finally 문을 방문하세요.


python

  1. 파이썬 키워드와 식별자
  2. Python 문, 들여쓰기 및 주석
  3. Python 변수, 상수 및 리터럴
  4. Python 유형 변환 및 유형 캐스팅
  5. 파이썬 입력, 출력 및 가져오기
  6. Python 전역, 지역 및 비지역 변수
  7. 파이썬 숫자, 유형 변환 및 수학
  8. Python 디렉토리 및 파일 관리
  9. Python 사용자 정의 예외
  10. Python에서 현재 날짜와 시간을 얻는 방법은 무엇입니까?