[파이썬] raise 문의 사용법

Python에서 raise 문은 예외를 발생시키는데 사용됩니다. 예외는 프로그램의 실행 중에 오류 또는 예기치 않은 상황을 나타냅니다. raise 문은 예외를 직접 발생시켜 필요한 경우에만 예외 처리를 수행할 수 있도록 합니다.

raise 문의 기본 구문

raise 문은 기본적으로 다음과 같은 구문을 갖습니다:

raise [Exception]

위에서 [Exception]은 예외 객체로, Exception 클래스의 인스턴스 또는 그 하위 클래스의 인스턴스일 수 있습니다.

사용 예시

raise 문을 사용하여 예외를 발생시키는 예시를 살펴보겠습니다:

def divide(a, b):
    if b == 0:
        raise ValueError("분모는 0이 될 수 없습니다.")
    else:
        return a / b

try:
    result = divide(10, 0)
except ValueError as e:
    print("에러 발생:", str(e))

위의 예시에서 divide 함수는 b가 0인 경우에 ValueError 예외를 발생시킵니다. try-except 문을 사용하여 예외를 처리하고, 발생한 예외를 출력합니다.

사용자 정의 예외 발생시키기

raise 문은 사용자 정의 예외를 발생시키는데도 사용될 수 있습니다. 사용자 정의 예외는 기존 예외 클래스들을 상속받아 만들 수 있습니다. 예시를 통해 살펴보겠습니다:

class MyCustomException(Exception):
    pass

def my_function():
    raise MyCustomException("사용자 정의 예외가 발생했습니다.")

try:
    my_function()
except MyCustomException as e:
    print("에러 발생:", str(e))

위의 예시에서 MyCustomExceptionException 클래스를 상속받아 만든 사용자 정의 예외입니다. my_function에서는 이 예외를 발생시키고, try-except 문을 사용하여 예외를 처리합니다.

결론

Python의 raise 문은 예외를 발생시켜 예외 처리를 수행하는 강력한 도구입니다. 이를 사용하여 코드 실행 중에 발생할 수 있는 예외를 감지하고 처리할 수 있습니다. 사용자 정의 예외를 정의하여, 특정 상황에서 발생하는 예외를 좀 더 명확하게 다룰 수도 있습니다.