지 구 여 행
Python_사용자 정의 예외 처리(raise) 본문
사용자 정의 예외 처리
정의
파이썬에서 제공하는 에러가 아닌, 사용자가 원하는 에러를 직접 정의하여 예외 처리하는 방법
[방법 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
'개인 공부 > Python_Study' 카테고리의 다른 글
Q. if와 break 위치에 따른 결과값 변화 (0) | 2022.06.14 |
---|---|
Python_finally (0) | 2022.06.13 |
Python_예외처리(try, except) (0) | 2022.06.13 |
Q. 클래스(Class) / 다중상속(Multiple Inheritance) (0) | 2022.06.11 |
Q. 클래스의 객체를 print()로 출력하는 방법 (0) | 2022.06.09 |