본문 바로가기
프로그래밍언어/파이썬[초급]

[파이썬][초급] Chapter47. 예외 활용과 견고한 프로그램

by about_IT 2025. 5. 17.
728x90

예외 처리는 프로그램 실행 중 발생할 수 있는 오류 상황에 대응하는 방법으로, 프로그램의 안정성과 신뢰성을 높이는 데 필수적입니다. 이번 장에서는 예외 처리 기법을 활용하여 견고한 프로그램을 만드는 방법을 학습합니다.

● 예외 처리를 통한 오류 방지

사용자 입력, 파일 처리, 네트워크 통신 등 다양한 상황에서 예외 처리를 통해 예기치 않은 종료를 방지할 수 있습니다.

try:
    x = int(input("숫자를 입력하세요: "))
    print(10 / x)
except ValueError:
    print("유효한 숫자를 입력하세요.")
except ZeroDivisionError:
    print("0으로 나눌 수 없습니다.")

● 예외 처리 패턴

  • try-except: 일반적인 예외 처리
  • try-except-finally: 예외 여부와 관계없이 마지막에 항상 실행되는 코드
  • try-except-else: 예외가 없을 경우 실행되는 코드
try:
    print("실행")
except:
    print("오류 발생")
else:
    print("예외 없음")
finally:
    print("항상 실행")

● 사용자 정의 예외 처리

필요한 경우 직접 예외 클래스를 정의하여 세분화된 예외 제어가 가능합니다.

class CustomError(Exception):
    pass

def check_value(x):
    if x < 0:
        raise CustomError("음수는 허용되지 않음")

try:
    check_value(-5)
except CustomError as e:
    print("사용자 정의 예외:", e)

● 예외 로깅

오류를 무시하지 말고, 로그를 남겨 추적 가능하도록 하는 것이 좋습니다.

import logging

logging.basicConfig(filename='error.log', level=logging.ERROR)

try:
    1 / 0
except ZeroDivisionError as e:
    logging.error("오류 발생: %s", e)

● 마무리

이번 장에서는 예외 처리 구조와 사용자 정의 예외, 로깅을 통한 추적 등 예외 활용 기법을 학습했습니다. 실전 프로그램에서는 예외 처리를 통해 오류 상황을 효과적으로 통제하고, 사용자 경험을 개선하는 것이 중요합니다. 다음 장에서는 반복 구조와 조건 제어를 조합한 실전 문제를 풀어보겠습니다.

728x90