기계는 거짓말하지 않는다

Python 예외 처리(Exception) 본문

Python

Python 예외 처리(Exception)

KillinTime 2021. 9. 5. 02:20

try, except, else, finally를 사용할 수 있다.

try:
	# 실행 코드
except:
	# 예외가 발생 했을 경우 실행 코드
else:
	# 예외가 발생하지 않았을 때 실행 코드
finally:
	# 예외 발생 여부와 상관없이 항상 실행 코드

 

try, except만 명시하면 오류를 지정하지 않으면 모든 오류에 대해 예외 처리를 한다.

try, except (발생 오류)를 사용하면 지정 한 오류에 대해서만 예외 처리를 한다.

try:
	# 실행 코드
except:
	# 모든 오류에 대해 처리
    
try:
	# 실행 코드
except ZeroDivisionError as e:
	# ZeroDivisionError 예외 처리

 

try, except (발생 오류) , except (발생 오류) ...는 여러 개의 오류를 상황 별로 예외 처리하기 위해 사용한다.

try:
	# 실행 코드
except ZeroDivisionError:
	# ZeroDivisionError 예외 처리
except IndexError:
	# IndexError 예외 처리

 

일부러 오류를 발생시킬 경우 raise를 사용한다.

부모 클래스에서 함수를 구현하지 않고 상속 받은 클래스에서 해당 함수를 구현하게끔 강제할 때도 사용한다.

    if test_size < 0 or test_size > 1:
        raise Exception("Split Test Size 0 ~ 1")

 

Exception 클래스를 상속 받아 직접 클래스 생성도 가능하다.

class CustomError(Exception):
    def __str__(self):
        return "Error!"

def error_str(string):
    if string == "error":
        raise CustomError()
    print(string)

try:
    error_str("ABC")
    error_str("error")
except CustomError as e:
    print(e)
Comments