[파이썬] 여러 예외 처리하기

예외 처리는 프로그램이 실행 중에 발생할 수 있는 오류를 잘 처리하는 중요한 부분입니다. Python은 여러 예외 상황에 대해 적절히 처리하는 기능을 제공합니다. 이번 포스트에서는 Python에서 여러 예외를 처리하는 방법에 대해 알아보겠습니다.

단일 예외 처리하기

가장 간단한 예외 처리 방법은 tryexcept 문을 사용하는 것입니다. try 블록 내에서 예외가 발생하면 해당 예외를 처리하기 위해 except 블록이 실행됩니다.

try:
    # 예외가 발생할 수 있는 코드
except 예외이름:
    # 예외 처리 코드

예를 들어, 다음 코드는 0으로 나누는 경우 ZeroDivisionError 예외를 처리합니다.

try:
    result = 10 / 0
except ZeroDivisionError:
    print("0으로 나누는 예외가 발생했습니다.")

여러 예외 처리하기

여러 종류의 예외를 처리해야하는 경우, except 블록을 여러 개 사용하여 각각의 예외를 처리할 수 있습니다.

try:
    # 예외가 발생할 수 있는 코드
except 예외이름1:
    # 예외 처리 코드1
except 예외이름2:
    # 예외 처리 코드2

예를 들어, 다음 코드는 입력된 값이 정수가 아닐 경우 ValueErrorTypeError 예외를 처리합니다.

try:
    value = input("정수를 입력하세요: ")
    result = 10 / int(value)
except ValueError:
    print("정수가 아닌 값이 입력되었습니다.")
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

모든 예외 처리하기

어떤 예외가 발생할지 미리 예측할 수 없는 경우, 모든 예외를 처리하는 except 블록을 사용할 수 있습니다. 이를 통해 예외 발생 시 프로그램이 중단되지 않고 계속 실행될 수 있습니다.

try:
    # 예외가 발생할 수 있는 코드
except Exception:
    # 예외 처리 코드

예를 들어, 파일을 열 때 발생할 수 있는 모든 예외를 처리하는 다음 코드를 살펴봅시다.

try:
    file = open("nonexistent_file.txt", "r")
except Exception:
    print("파일을 열 수 없습니다.")

예외 정보 출력하기

예외가 발생한 경우, except 블록 내부에서 예외에 대한 정보를 출력할 수도 있습니다. except 문에 예외 변수를 추가하고, 이를 이용하여 예외에 관한 정보를 출력할 수 있습니다.

try:
    # 예외가 발생할 수 있는 코드
except 예외이름 as 예외변수:
    # 예외 처리 및 정보 출력 코드

예를 들어, 다음 코드는 FileNotFoundError 예외가 발생한 경우 오류 메시지를 출력합니다.

try:
    file = open("nonexistent_file.txt", "r")
except FileNotFoundError as e:
    print(f"파일을 찾을 수 없음: {e}")

여러 예외를 처리하는 경우에도, 각 예외에 대한 정보를 출력할 수 있습니다.

try:
    # 예외가 발생할 수 있는 코드
except (예외이름1, 예외이름2) as e:
    # 예외 처리 및 정보 출력 코드

위 코드에서 예외이름1 또는 예외이름2에 해당하는 예외가 발생한 경우, e 변수를 사용하여 예외에 관한 정보를 출력할 수 있습니다.

마치며

Python의 예외 처리 기능을 잘 이용하면 프로그램이 예외 상황에 대처할 수 있고, 실행 중단을 피할 수 있습니다. 여러 예외를 처리하는 방법을 익히고 적절한 예외 처리를 구현하는 것은 안정적이고 신뢰할 수 있는 프로그램 개발에 중요한 역할을 합니다.