Java에서 Exception 클래스를 상속받아 사용자 정의 예외 클래스를 만들었듯, Python에서도 Exception 클래스를 상속받아 직접 에러를 만들 수 있습니다. Number라는 클래스를 인스턴스화할 때, 음수를 전달하면 에러를 발생시키도록 하겠습니다.

Exception 클래스를 상속받아 NegativeNumberError라는 클래스를 생성했고, __str__이라는 매직 메소드를 정의하여 객체가 print 함수에 전달될 경우 객체 내부의 메시지를 리턴하도록 했습니다. Number 클래스의 생성자에서는 인자 n이 음수이면 raise라는 구문을 사용하여 메시지와 함께 에러를 발생시켰습니다. try에서 객체 생성 시, except에서 NegativeNumberError의 e 객체를 그대로 출력하여 '음수는 담을 수 없습니다'가 출력되었습니다.

'Python 계열 > Python 레거시 글' 카테고리의 다른 글

[Python] 패키지  (0) 2018.07.07
[Python] 모듈  (0) 2018.07.06
[Python] 에러 처리  (0) 2018.07.04
[Python] 연산자 오버로딩  (0) 2018.07.02
[Python] 언더스코어와 magic method  (0) 2018.07.01

+ Recent posts