개인 공부/Python_Study

Python_사용자 정의 예외 처리(raise)

COSMOSUNION 2022. 6. 13. 20:44

 

  사용자 정의 예외 처리  

 

정의

파이썬에서 제공하는 에러가 아닌, 사용자가 원하는 에러를 직접 정의하여 예외 처리하는 방법

 

 

 [방법 1]  특정 조건에서 raise를 이용 → 바로 except 블록 실행

 

 

 [방법 2]  사용자가 정의한 에러로 클래스 생성 → try 블록에서 해당 클래스 호출 → except블록에서 변수로 받아 출력

 

① 사용자가 정의한 에러 발생 = 입력값(a,b) 중 하나라도 20 이상의 수를 입력

     → 사용자가 정의한 에러의 클래스(StringError)를 호출

raise 클래스이름("오류메시지")

예제) raise StringError("사용자가 정의한 오류입니다.")

② StringError이 호출될 때 입력한 '오류메시지'가 클래스 내부의 인스턴스(self.msg)에 담겨 반환

class 클래스이름(Exception):

예제) class StringError(Exception):
          ※ StringError이 파이썬 내에 존재하는 Exception 클래스를 상속받는 것을 의미

③ 사용자가 지정한 에러가 발생하면 except 블록이 실행됨

     → StringError 클래스로 생성된 인스턴스(self.msg)값이 변수 e에 담겨 print()을 통해 출력

except 클래스이름 as 변수:

예제) except StringError as e:

 

 

 

 

 

※ 참고자료 :

나도코딩 / 파이썬 코딩 무료 강의(기본편) : https://youtu.be/kWiCuklohdY

점프 투 파이썬 05-4 예외처리 : https://wikidocs.net/30