프로그래밍언어/파이썬[초급]

[파이썬][초급] Chapter27. 예외 종류와 raise

about_IT 2025. 5. 16. 16:15
728x90

예외는 프로그램 실행 중 발생할 수 있는 오류이며, 파이썬은 다양한 내장 예외를 제공합니다. 또한 raise 문을 통해 직접 예외를 발생시킬 수도 있습니다. 이번 장에서는 자주 사용되는 예외의 종류와 raise 문법에 대해 학습합니다.

● 주요 내장 예외 종류

다음은 자주 사용되는 예외들입니다.

  • ZeroDivisionError: 0으로 나눌 때
  • ValueError: 잘못된 값이 입력될 때
  • TypeError: 자료형이 맞지 않을 때
  • IndexError: 리스트 인덱스 범위를 벗어날 때
  • KeyError: 딕셔너리에 존재하지 않는 키에 접근할 때
nums = [1, 2, 3]
print(nums[5])  # IndexError

● 예외 계층 구조

모든 예외는 BaseException을 상속한 클래스입니다. 대부분은 Exception 클래스 아래에 있으며, 사용자 정의 예외도 이 계층을 따릅니다.

● raise 문

raise 문을 사용하면 조건에 따라 명시적으로 예외를 발생시킬 수 있습니다.

def divide(a, b):
    if b == 0:
        raise ZeroDivisionError("0으로 나눌 수 없습니다.")
    return a / b

print(divide(10, 0))

● 사용자 정의 예외

필요 시 새로운 예외 클래스를 정의할 수 있으며, 일반적으로 Exception을 상속합니다.

class NegativeNumberError(Exception):
    pass

def check_positive(x):
    if x < 0:
        raise NegativeNumberError("음수는 허용되지 않습니다.")

check_positive(-3)

● 예외와 raise 결합

raise를 try-except와 함께 사용하여 특정 조건에서만 예외를 발생시키고, 이를 처리할 수 있습니다.

try:
    check_positive(-5)
except NegativeNumberError as e:
    print("예외 발생:", e)

● 마무리

이번 장에서는 파이썬의 주요 내장 예외, raise 문을 통한 예외 발생, 사용자 정의 예외 클래스 작성 방법까지 살펴보았습니다. 예외의 흐름을 이해하고 필요한 시점에 직접 발생시키는 능력은 견고한 프로그램을 만드는 데 필수입니다. 다음 장에서는 파일 입출력의 기초에 대해 학습합니다.

728x90