개인 공부/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