[파이썬] 예외 처리와 코드 문서화

예외 처리 (Exception Handling)

예외 처리는 프로그램이 실행 중에 발생하는 예외 상황을 처리하는 방법을 일컫습니다. 예외 상황은 예상치 못한 문제 또는 에러가 발생했을 때를 말하며, 프로그램이 예외 상황에 대처하지 않으면 충돌(crash)이 발생할 수 있습니다.

파이썬은 예외 처리를 위해 try-except 문법을 제공합니다. 예외가 발생할 수 있는 코드를 try 블록 안에 작성하고, 예외가 발생하면 해당 예외를 처리하는 except 블록을 실행합니다.

예를 들어, 아래의 코드에서는 사용자로부터 정수를 입력 받아서 10을 나눈 결과를 출력하는 예제입니다. 하지만 사용자가 0을 입력하면 ZeroDivisionError라는 예외가 발생합니다.

try:
    num = int(input("정수를 입력하세요: "))
    result = 10 / num
    print("결과:", result)
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

만약 사용자가 0을 입력하면 except ZeroDivisionError 블록이 실행되어 “0으로 나눌 수 없습니다.”라는 메시지를 출력합니다.

코드 문서화 (Code Documentation)

코드 문서화는 작성한 코드에 대한 설명과 사용 방법을 기술하는 작업입니다. 코드 문서화를 통해 다른 사람들이 코드를 이해하고 사용할 수 있으며, 유지보수 및 개선 작업이 용이해집니다.

파이썬에서는 코드 문서화를 위해 docstring이라는 기능을 제공합니다. Docstring은 모듈, 클래스 또는 함수 등의 선언부 바로 아래에 작성되며, """로 감싸진 문자열 형태로 작성됩니다.

아래는 함수에 대한 예시입니다.

def add_two_numbers(num1, num2):
    """
    두 개의 숫자를 더하는 함수입니다.

    Args:
        num1 (int): 첫 번째 숫자
        num2 (int): 두 번째 숫자
    
    Returns:
        int: 두 숫자의 합
    
    Raises:
        TypeError: 인자로 정수가 아닌 값이 전달되었을 때 발생
    """
    if not isinstance(num1, int) or not isinstance(num2, int):
        raise TypeError("인자로 정수가 아닌 값을 전달할 수 없습니다.")
    
    return num1 + num2

위의 예시에서는 함수의 역할, 인자, 반환 값, 발생 가능한 예외 상황 등을 docstring으로 명시했습니다. 이런 방식으로 코드를 문서화하면 개발자들은 함수를 호출할 때 인자 목록과 예외 사항 등을 확인할 수 있습니다.

마무리

예외 처리와 코드 문서화는 프로그램 개발에서 중요한 요소입니다. 예외 처리를 통해 비정상적인 상황에 대처하여 프로그램의 안정성을 높이고, 코드 문서화를 통해 코드의 가독성과 이해도를 높일 수 있습니다. 추후에 작성할 코드에서 예외 처리와 코드 문서화를 염두에 두고 개발하는 것을 권장합니다.