[python] 함수의 사용자 정의 예외 처리
파이썬에서는 try-except 블록을 사용하여 오류를 처리할 수 있습니다. 하지만 때로는 프로그램에서 사용자 자체적으로 정의한 예외를 발생시켜야 하는 경우가 있습니다. 이때, 사용자 정의 예외를 처리하는 방법을 알아보겠습니다.
사용자 정의 예외란?
파이썬에서는 내장 예외뿐만 아니라 사용자가 직접 예외를 정의하여 발생시킬 수 있습니다. 이때, Exception
클래스를 상속받아 새로운 예외 클래스를 정의할 수 있습니다.
class CustomError(Exception):
def __init__(self, message):
self.message = message
def __str__(self):
return self.message
위 예제에서 CustomError
는 Exception
클래스를 상속받아 새로운 예외 클래스를 정의한 것입니다. 예외 발생 시 특정한 메시지를 포함하도록 설정되어 있습니다.
사용자 정의 예외 발생시키기
사용자 정의 예외를 발생시키는 방법은 내장 예외를 발생시키는 방법과 동일합니다. raise
키워드를 사용하여 새로 정의한 예외를 발생시킬 수 있습니다.
def validate_age(age):
if age < 0:
raise CustomError("나이는 음수일 수 없습니다.")
elif age < 18:
raise CustomError("만 18세 미만은 이용할 수 없습니다.")
else:
return "이용 가능한 나이입니다."
위 코드에서 validate_age
함수는 나이에 따라 예외를 발생시킵니다.
사용자 정의 예외 처리하기
사용자 정의 예외를 처리하는 방법은 내장 예외를 처리하는 방법과 동일합니다. try-except 블록을 사용하여 예외를 처리할 수 있습니다.
try:
result = validate_age(15)
print(result)
except CustomError as e:
print(f"예외가 발생했습니다: {e}")
위 코드에서는 validate_age
함수에서 발생한 CustomError
를 처리하고, 예외 메시지를 출력합니다.
마무리
사용자 정의 예외를 활용하면 프로그램의 가독성과 유지보수성을 높일 수 있습니다. 핵심은 적절한 예외 클래스를 정의하고 사용하는 것입니다.
이상으로 함수의 사용자 정의 예외 처리에 대해 알아보았습니다. 다음에 또 만나요!