Tiny Star

❌Exception&Error/🔵Python

[❌삽질과 해결 그 사이] TypeError: exceptions must derive from BaseException

청크 2024. 5. 10. 17:05

View에서 예외처리(?)를 하는 도중에 생긴 오류

TypeError : exception must derive from BaseException.

 

이 에러 메세지를 그대로 해석하면 예외는 BaseException에서 파생되어야 한다는 이야기인데,

이게 뭔 이야기인고 하니 파이썬3에서는 BaseException 내장 클래스에서 파생된.

즉, 상속받는 클래스만 예외클래스로 인식되어 이 익셉션 조상클래스를 상속받지 않은 건 예외처리로 인식하지 않는다.

구글에 쳐봐도 예외메세지만 던진 경우에 뜨는 오류라는데, 나는 그렇게 무책임하게 던지지 않았다.

한참 씨름하다 뭐가문제냐!?싶어 선임님께 질문한 결과는?

 

return이 아닌 raise로 던져줬기 때문!

 

return은 Response를 던지는거지만 raise는 예외를 발생시킨다는 차이가 있다.

그러니 Exception을 던지지 않고 Common에 공통적으로 저장해놓은 Response를 던졌기 때문에 이런 오류를 마주했던거다.

 

+ 진짜 raise가 사용하고 싶다면 예외 핸들러를 설정해서 그걸 던져줘도 가능하다.

 

 

난 그냥 리턴엔딩..