파이썬(Python)에는 여러 가지 예외 클래스들이 있다. 각 클래스들은 특정 오류가 발생하면 호출되는 객체들로서 파이썬에 내장되어 있다. 이때 우리가 원하는 예외 클래스를 만들 수도 있다. 이번 포스팅에서는 예외 클래스를 만드는 방법에 대하여 알아본다.
예외 클래스(Class) 만들기
예외 클래스는 어렵지 않게 만들 수 있다. 먼저 1) 클래스를 정의할 때 부모 객체를 Exception으로 하여 상속받고 2) 초기화 메서드를 정의할 때 부모 객체의 초기화 메서드를 호출하고 이때 인자로 원하는 메시지를 삽입하면 된다. 아래 코드는 변수가 짝수인 경우 예외처리를 위한 클래스를 만든 것이다.
class EvenNumberException(Exception): ## Exception을 상속받아야한다.
def __init__(self):
super().__init__('짝수가 나왔습니다.') ## 부모 객체 초기화 메서드에 원하는 메시지 입력
x = 4
try:
if x%2 == 0:
raise EvenNumberException
except Exception as e:
print(e)
raise
다음과 같이 어떤 것도 구현되지 않은 예외 클래스를 정의할 수도 있다. 다만 예외 발생시발생 시 메시지를 인자로 넘겨줘야 한다. 아래 코드는 쉼표가 들어간 문자열을 발견할 경우 에러를 발생시킨다.
class NotContainComma(Exception): ## Exception을 상속받아야한다.
pass ## 아무것도 구현하지 않음
## 이 경우 예외 클래스를 호출할 때 메시지를 넣어줘야한다.
for string in ['hi', 'hello', 'a, b']:
if ',' in string:
raise NotContainComma(string)
댓글