SeouliteLab

[Python/파이썬] 예외 처리하기: try, except, finally 본문

프로그래밍

[Python/파이썬] 예외 처리하기: try, except, finally

Seoulite Lab 2024. 3. 6. 09:40

예외 처리는 프로그램이 실행 중에 발생할 수 있는 오류를 처리하는 중요한 개념입니다. 파이썬에서는 try, except, finally 구문을 사용하여 예외 처리를 할 수 있습니다. 이번 글에서는 예외 처리의 기본적인 사용법과 예제를 살펴보겠습니다.

1. 기본적인 예외 처리

try, except 구문을 사용하여 예외를 처리할 수 있습니다. try 블록 내에서 예외가 발생하면 except 블록이 실행됩니다.

try:
    x = 10 / 0
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

2. 여러 종류의 예외 처리

여러 종류의 예외를 처리할 수 있습니다. except 구문에 여러 예외를 지정하거나 except 구문을 여러 번 사용할 수 있습니다.

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

3. 예외 정보 가져오기

except 구문에서 예외 정보를 가져와서 활용할 수 있습니다.

try:
    x = 10 / 0
except ZeroDivisionError as e:
    print("예외 발생:", e)

4. finally 구문

finally 구문은 예외 발생 여부와 관계없이 항상 실행됩니다. 주로 리소스 정리 등의 작업에 사용됩니다.

try:
    file = open("example.txt", "r")
    data = file.read()
except FileNotFoundError:
    print("파일을 찾을 수 없습니다.")
finally:
    file.close()

5. 예외 발생시키기

raise 키워드를 사용하여 특정 예외를 강제로 발생시킬 수 있습니다.

try:
    age = int(input("나이를 입력하세요: "))
    if age < 0:
        raise ValueError("나이는 음수일 수 없습니다.")
except ValueError as e:
    print("예외 발생:", e)

6. 예외 처리의 중첩

try 구문 안에 또 다른 try 구문을 중첩하여 사용할 수 있습니다. 이를 통해 좀 더 세밀한 예외 처리가 가능합니다.

try:
    try:
        x = int(input("정수를 입력하세요: "))
    except ValueError:
        print("정수가 아닌 값을 입력했습니다.")
        raise
except:
    print("예외가 발생했습니다.")