파이썬/기초 프로그래밍

파이썬 예외 처리 구문 완전 정복: try, except, else, finally

Data Jun 2025. 6. 22. 15:12

파이썬에서 예외 처리는 프로그램의 안정성을 높이는 데 매우 중요합니다.
이번 글에서는 try, except, else, finally의 각 역할과 활용법을 예제와 함께 정리해보겠습니다.

 

1. try–finally: 항상 실행되는 마무리 처리

try:
    print("파일 열기")
    raise ValueError("오류 발생")
finally:
    print("파일 닫기")

위 코드는 예외가 발생해도 finally 블록이 반드시 실행된다는 것을 보여줍니다.
예외가 발생하든 안 하든 꼭 실행해야 하는 정리 작업(ex. 파일 닫기, DB 연결 종료 등)에 유용합니다.

 

2. try–except–else–finally: 복합 예외 처리 구문

파이썬에서는 다음과 같이 예외 처리를 구성할 수 있습니다.

try:
    # 예외 발생 가능성 있는 코드
except SomeError:
    # 예외 발생 시 실행
else:
    # 예외가 발생하지 않았을 때 실행
finally:
    # 예외 발생 여부 관계 없이 항상 실행

 

예제 코드

def divide(a, b):
    try:
        result = a / b
    except ZeroDivisionError:
        print("0으로 나눌 수 없습니다.")
    else:
        print("결과:", result)
    finally:
        print("계산 종료")
divide(10, 2)
# 결과: 5.0
# 계산 종료

divide(5, 0)
# 0으로 나눌 수 없습니다.
# 계산 종료

 

 

3. 각 블록의 의미

블록 역할
try 예외가 발생할 수 있는 코드를 작성합니다.
except 예외가 발생했을 때 처리 로직을 정의합니다.
else 예외 없이 성공했을 때 실행됩니다. (선택적)
finally 예외 발생 여부와 상관없이 항상 실행됩니다.

 

 

정리하면

  • finally는 자원 정리에 꼭 사용하세요.
  • else는 예외가 없을 때만 실행되는 추가 처리 로직에 적합합니다.
  • 구조적으로 깔끔한 예외 처리 코드는 코드의 신뢰성과 가독성을 높입니다