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

Python 예외 처리:try, catch, finally 및 제기 [예제]

Python에서 예외 처리란 무엇입니까?

예외는 프로그램 실행 시 발생하는 오류입니다. 그러나 프로그램을 실행하는 동안 Python은 프로그램이 충돌하지 않도록 처리해야 하는 예외를 생성합니다. Python 언어에서 예외는 오류 발생 시 자동으로 트리거되거나 코드에서 트리거 및 가로챌 수 있습니다.

예외는 이벤트가 발생할 수 있지만 이러한 유형의 이벤트가 드물게 발생함을 나타냅니다. 메서드가 예외를 처리할 수 없으면 호출자 함수에 throw됩니다. 결국 메인 함수에서 예외가 발생하면 프로그램이 갑자기 종료된다.

이 Python 예외 처리 자습서에서는 다음을 배우게 됩니다.

예외의 일반적인 예:

왜 예외를 사용해야 합니까?

Python에서 예외를 사용하는 이유는 다음과 같습니다.

예외 규칙

다음은 Python 예외 처리의 몇 가지 필수 규칙입니다.

Python 예외 처리 메커니즘

예외 처리는 다음 5가지 키워드로 관리됩니다.

  1. 시도
  2. 잡다
  3. 드디어
  4. 던지다

파이썬 시도 문

try 문에는 키워드 try, 콜론(:) 및 예외가 발생할 수 있는 코드 모음이 포함됩니다. 하나 이상의 절이 있습니다.

try 문을 실행하는 동안 예외가 발생하지 않으면 인터프리터는 해당 try 문에 대한 예외 처리기를 무시합니다.

만약 try 스위트에서 어떤 예외가 발생한다면, try 스위트는 만료되고 프로그램 제어는 try 스위트 다음에 오는 일치하는 예외 핸들러로 넘어갑니다.

Syntax:
try:
statement(s)

catch 문

Catch 블록은 한 번에 하나의 인수를 취하며, 이는 catch할 가능성이 높은 예외 유형입니다. 이러한 인수 범위는 다양할 수 있는 특정 유형의 예외부터 포괄적인 예외 범주에 이르기까지 다양합니다.

catch 블록 규칙:

예:

try
}
catch (ArrayIndexOutOfBoundsException e) {
System.err.printin("Caught first " + e.getMessage()); } catch (IOException e) {
System.err.printin("Caught second " + e.getMessage());
}

파이썬에서의 마지막 문장

finally 블록은 예외가 발생하는지 여부에 관계없이 항상 실행됩니다. final 키워드를 사용하면 try-catch 블록 다음에 오는 코드 블록을 만들 수 있습니다.

마지막으로 절은 선택 사항입니다. 모든 조건에서 실행되어야 하는 정리 작업을 정의하기 위한 것입니다.

try:
    raise KeyboardInterrupt
finally:
    print 'welcome, world!'
Output
Welcome, world!
KeyboardInterrupt

마지막으로 try 문보다 먼저 절이 실행됩니다.

파이썬의 Raise 문

raise 문은 예외 개체를 초기화하는 인수를 지정합니다. 여기에서 예외 이름 뒤에 쉼표가 오고 쉼표 뒤에 오는 인수 또는 튜플이 옵니다.

구문:

raise [Exception [, args [, traceback]]]

이 구문에서 인수는 선택 사항이며 실행 시 예외 인수 값은 항상 없음입니다.

예:

Python 예외는 문자열, 클래스, 숫자 또는 객체와 같은 값일 수 있습니다. Python 코어에서 발생하는 이러한 예외의 대부분은 클래스의 인스턴스인 인수가 있는 클래스입니다.

중요한 Python 오류

오류 유형 설명
산술 오류 ArithmeticError는 모든 산술 예외에 대한 기본 클래스 역할을 합니다. 산술 연산의 오류에 대해 발생합니다.
가져오기 오류 ImportError는 존재하지 않는 모듈을 가져오려고 할 때 발생합니다. 이러한 종류의 예외는 모듈 이름이나 표준 경로에 없는 모듈을 잘못 입력한 경우 발생합니다.
색인 오류 범위를 벗어난 시퀀스를 참조하려고 하면 IndexError가 발생합니다.
키 오류 사전에서 특정 키를 찾지 못하면 KeyError 예외가 발생합니다.
이름 오류 로컬 또는 글로벌 네임스페이스에 존재하지 않는 코드에서 이름이 참조될 때 NameError가 발생합니다.
값 오류 함수나 내장 연산이 올바른 유형일 수 있지만 적절한 값이 없는 인수를 받으면 값 오류가 발생합니다.
EOF 오류 이러한 종류의 오류는 내장 함수(input() 또는 raw_input()) 중 하나가 데이터를 읽지 않고 EOF 조건에 도달할 때 발생합니다.
ZeroDivisionError 이 유형의 오류는 모든 숫자 유형에 대해 0으로 나누거나 모듈이 발생할 때 발생합니다.
IO 오류- 입력/출력 작업이 실패할 때 발생하는 이러한 종류의 오류입니다.
구문 오류 Python 구문에 오류가 있을 때 발생하는 SyntaxErrors.
들여쓰기 오류 들여쓰기가 제대로 정의되지 않았을 때 발생하는 오류입니다.

기타 중요한 Python 예외

예외 설명
산술 예외 0으로 나누기와 같은 산술 오류.
ArrayIndexOutOfBoundsException 배열 인덱스가 범위를 벗어났습니다.
ArrayStore 예외 할당은 호환되지 않는 유형의 배열 요소에 도움이 됩니다.
클래스캐스트 예외 잘못된 캐스트
MlegalMonitorStateException 잠금 해제된 스레드를 기다리는 것과 같은 잘못된 모니터 작업입니다.
MlegalStateException 환경 또는 애플리케이션이 잘못된 상태입니다.
ClassNotFoundException 클래스를 찾을 수 없습니다.
CloneNotSupportedException Cloneable 인터페이스를 구현하지 않는 개체를 복제하려고 합니다.
불법 액세스 예외 수업에 대한 액세스가 거부되었습니다.
인스턴스화 예외 인터페이스 또는 추상 클래스의 개체를 만들려고 할 때 발생합니다.
CloneNotSupportedException 인터페이스를 구현하지 않는 개체 복제를 시도합니다.

오류 대 예외

오류 예외
파이썬의 모든 오류는 체크되지 않은 유형입니다. 예외에는 체크된 유형과 선택되지 않은 유형이 모두 포함됩니다.
컴파일러에 알려지지 않은 오류가 런타임에 발생합니다. 예외는 try-catch 블록을 사용하여 처리하여 복구할 수 있습니다.
오류는 주로 애플리케이션이 실행되는 환경에서 발생합니다. 애플리케이션 자체에서 예외가 발생합니다.
예:
OutofMemoryError
예:
확인된 예외, SQL 예외, NullPointerException 등

요약


python

  1. 파이썬 데이터 유형
  2. 파이썬 연산자
  3. 파이썬 통과 문
  4. 파이썬 함수 인수
  5. 파이썬 사전
  6. try, except 및 finally 문을 사용하는 Python 예외 처리
  7. 파이썬 반복자
  8. 파이썬 클로저
  9. 자바 예외 처리
  10. 자바 시도 ... 캐치