반응형
raise 구문
이상하게 들리겠지만 프로그래밍을 하다보면 일부러 예외를 발생시키는 상황이 있습니다. 가장 대표적인 상황으로 구현하지 않고 남겨둔 함수의 내부를 개발자가 꼭 작성할 수 있도록 강제하는 상황입니다.
def count(self):
pass
개발을 하다보면 함수의 이름만 선언해 놓고 내부 구현은 하지 않고 남겨두는 경우가 많습니다. 이때는 아래 상황 처럼 pass 키워드를 통해서 내부 기능은 구현하지 않고 넘어갈 수 있습니다. 하지만 이 방법은 개발자가 해당 코드를 보지 않으면 내부가 구현되었는지 안되었는지 알지도 모른채 지나갈 수도 있습니다. 이럴때 개발되지 않은 부분에 대한 강제성을 부여할 수 있는데요. 이때는 아래와 처럼 '구현되지 않은 부분'에 대한 에러를 발생하도록 만들 수 있습니다.
def count(self):
raise NotImplementedError
그러면 해당 함수가 호출되어서 실행되면 NotImplementedError가 발생되게 됩니다. 그러면 개발자는 해당 함수가 구현되지 않았다는 것을 알 수 있게 됩니다. 이때 예외 상황을 발생시키는 키워드가 바로 raise 입니다. raise 키워드는 아래와 같이 사용할 수 있습니다.
raise 예외 객체
raise 키워드에 예외 객체 이름을 두면 됩니다. 사용자가 예외 클래스를 따로 정의해서 사용할 수도 있습니다.
반응형
'Python' 카테고리의 다른 글
[Python] 파이썬 데코레이터 (decorator) (0) | 2019.11.25 |
---|---|
[Python] 파이썬 모듈의 종류와 사용법 (import) (0) | 2019.11.25 |
[Python] 파이썬 예외 구분하기 (except ... as ...) (0) | 2019.11.25 |
[Python] 파이썬 자료형 확인하는 isinstance 함수 (0) | 2019.11.25 |
[Python] 파이썬 dict 자료형의 update 함수 (0) | 2019.11.25 |