파이썬에서는 내장 예외 클래스를 상속하여 자신만의 커스텀 예외를 만들 수 있습니다. 아래 예제는 ValueError를 상속받아 사용자 정의 메시지를 함께 전달하는 CustomValueError 예외를 구현하는 방법을 보여줍니다.
예제 코드
class CustomValueError(ValueError):
def __init__(self, arg):
self.arg = arg
try:
a = int(input("숫자를 입력하세요: "))
if not 1 < a < 10:
raise CustomValueError("값은 반드시 1과 10 사이여야 합니다.")
except CustomValueError as e:
print("CustomValueError 예외 발생!", e.arg)실행 결과
숫자를 입력하세요: 45 CustomValueError 예외 발생! 값은 반드시 1과 10 사이여야 합니다. Process finished with exit code 0
코드 설명
CustomValueError 클래스는 파이썬의 내장 예외인 ValueError를 상속합니다. 생성자(__init__)는 호출 시 전달받은 메시지를 self.arg 속성에 저장하며, 나중에 예외를 처리할 때 이 메시지를 활용할 수 있습니다.
입력받은 값이 1보다 크고 10보다 작지 않으면 raise 문을 통해 커스텀 예외가 발생하고, except 블록이 해당 예외를 잡아 저장해 둔 메시지를 화면에 출력합니다. 이처럼 커스텀 예외를 활용하면 오류 상황을 더 명확하고 읽기 쉬운 방식으로 표현할 수 있습니다.