파이썬 기초

[Python] 예외 처리

파이썬러버 2024. 1. 12. 03:03

파이썬에서 예외(Exception) 처리는 코드 실행 중에 발생할 수 있는 오류나 예외 상황을 다루는 방법입니다. 예외 처리를 통해 프로그램이 예외 상황에서도 graceful하게 처리되도록 할 수 있습니다.

기본적인 예외 처리 구문

try:
    # 예외가 발생할 수 있는 코드
    result = 10 / 0
except ZeroDivisionError:
    # 예외가 발생했을 때 실행할 코드
    print("0으로 나눌 수 없습니다.")
  • try 블록 안에는 예외가 발생할 수 있는 코드를 작성합니다.
  • except 블록은 예외가 발생했을 때 실행할 코드를 작성합니다.
  • 예외의 종류에 따라 여러 except 블록을 사용할 수 있습니다.

예외 처리의 다양한 구문

try:
    # 예외가 발생할 수 있는 코드
    result = 10 / 0
except ZeroDivisionError as e:
    # 예외 정보를 출력
    print(f"예외 발생: {e}")
except (ValueError, TypeError):
    # 여러 예외를 한번에 처리
    print("값 또는 타입 관련 예외가 발생했습니다.")
except Exception as e:
    # 모든 예외를 처리하는 범용적인 except 블록
    print(f"알 수 없는 예외 발생: {e}")
else:
    # 예외가 발생하지 않았을 때 실행할 코드
    print("예외가 발생하지 않았습니다.")
finally:
    # 예외 발생 여부에 상관없이 항상 실행할 코드
    print("코드 실행 완료")
  • as 키워드를 사용하여 예외 정보를 변수에 저장할 수 있습니다.
  • 여러 예외를 한 번에 처리할 수 있습니다.
  • else 블록은 예외가 발생하지 않았을 때 실행됩니다.
  • finally 블록은 예외 발생 여부에 관계없이 항상 실행됩니다.

사용자 정의 예외

class CustomError(Exception):
    def __init__(self, message="사용자 정의 예외 발생"):
        self.message = message
        super().__init__(self.message)

try:
    raise CustomError
except CustomError as ce:
    print(f"사용자 정의 예외 처리: {ce}")

사용자는 Exception 클래스를 상속받아 새로운 예외 클래스를 정의할 수 있습니다. 이러한 사용자 정의 예외를 통해 특정 상황에 대한 예외를 던지고 처리할 수 있습니다. 클래스는 이후 포스트에서 소개하겠습니다.

예외 처리는 프로그램의 안정성을 높이고 예외 상황에 대한 적절한 대처를 할 수 있도록 도와줍니다.