파이썬에서 예외 처리를 사용하려면 먼저 모든 예외 절을 잡아야 합니다.
Python은 예외를 포착하기 위해 "try" 및 "except" 키워드를 제공합니다. "try" 블록 코드는 명령문별로 실행됩니다. 그러나 예외가 발생하면 나머지 "try" 코드는 실행되지 않고 except 절이 실행됩니다.
try: some_statements_here except: exception_handling
아주 간단한 예를 들어 위의 구문을 살펴보겠습니다 -
try: print("Hello, World!") except: print("This is an error message!")
출력
Hello, World!
위는 매우 간단한 예입니다. 다른 예를 통해 위의 개념을 이해합시다 -
import sys List = ['abc', 0, 2, 4] for item in List: try: print("The List Item is", item) r = 1/int(item) break except: print("Oops!",sys.exc_info()[0],"occured.") print('\n') print("Next Item from the List is: ") print() print("The reciprocal of",item,"is",r)
출력
The List Item is abc Oops! <class 'ValueError'> occured. Next Item from the List is: The List Item is 0 Oops! <class 'ZeroDivisionError'> occured. Next Item from the List is: The List Item is 2 The reciprocal of 2 is 0.5
위의 프로그램에서 루프는 유효한 역수를 갖는 정수를 (사용자 입력으로) 얻을 때까지 실행됩니다. 예외를 발생시키는 코드는 try 블록 내에 배치됩니다.
예외가 발생하면 예외 블록에 의해 catch됩니다. 다른 예외 오류로 위의 프로그램을 테스트할 수 있습니다. 다음은 일반적인 예외 오류 중 일부입니다 -
-
IO 오류
파일을 열 수 없는 경우에 발생합니다.
-
가져오기 오류
모듈이 누락된 경우 발생합니다.
-
값 오류
형식은 정확하지만 내장 연산자나 함수의 값이 적절하지 않은 인수를 전달할 때마다 발생했습니다.
-
키보드 인터럽트
사용자가 인터럽트 키를 누를 때마다(일반적으로 control-c)
-
EOF 오류
내장 함수가 데이터를 읽지 않고 EOF(파일 끝 조건)에 도달하면 예외가 발생합니다.