인프런 커뮤니티 질문&답변

cjkoo96님의 프로필 이미지
cjkoo96

작성한 질문수

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

사용자 정의 예외처리

class BigNumberError와 관련하여

작성

·

143

2

안녕하세요 강의 열심히 듣고있습니다. 공부하다가 이해가 안가는 부분이 생겨서 질문을 남기게 되었습니다.

이번 강의에서 class BigNumberError를 정의하고 BigNumberError의 입력값으로 에러 구문을 받은 다음 except BigNumberError as err:를 통해 err변수에 그 에러 구문을 저장하는 내용이 있었는데요, 

클래스 정의에서 단지 에러 구문을 입력값으로 주었을 뿐(self.msg에 저장) 해당 에러 구문을 반환(?)하는 내용이 class에 정의가 되어있지 않은데 어떻게 에러 구문이 as와 함께 사용시 뒤에 오는 변수에 저장되는건가요?

답변 1

2

나도코딩님의 프로필 이미지
나도코딩
지식공유자

Exception 이라는 클래스를 상속하였기 때문에 그렇습니다. 그리고 강의에서 정의한 __str__ 함수에 의해서 print(err) 을 하게 되면 self.msg 값이 출력해준답니다. (실제로는 __init__ 과 __str__ 을 따로 정의해주지 않아도 Exception 클래스를 상속하면 앞 내용을 자동으로 처리해준답니다)

cjkoo96님의 프로필 이미지
cjkoo96

작성한 질문수

질문하기