[파이썬] 예외 처리 패턴의 적용 사례

예외 처리 패턴은 프로그램에서 예외 상황을 처리하는 효과적인 방법을 제공합니다. 이번 글에서는 Python에서 예외 처리 패턴을 적용하는 몇 가지 사례를 살펴보겠습니다.

1. 파일 입출력

파일 입출력은 예외가 발생하기 쉬운 작업 중 하나입니다. 파일이 존재하지 않을 때 발생하는 FileNotFoundError 예외를 처리해보겠습니다.

try:
    f = open("file.txt", "r")
    # 파일 읽기 작업 수행
except FileNotFoundError:
    print("파일이 존재하지 않습니다.")

2. 네트워크 요청

네트워크 요청을 보낼 때는 서버가 응답하지 않거나 연결이 끊어진 경우 등 다양한 예외가 발생할 수 있습니다. requests 라이브러리를 사용한 예제입니다.

import requests

try:
    response = requests.get("https://api.example.com")
    # 응답 처리 작업 수행
except requests.exceptions.ConnectionError:
    print("서버에 연결할 수 없습니다.")
except requests.exceptions.Timeout:
    print("요청 시간이 초과되었습니다.")

3. 데이터베이스 연결

데이터베이스 연결 시도에서 오류가 발생할 수 있습니다. psycopg2 라이브러리를 사용한 PostgreSQL 연결 예제입니다.

import psycopg2

try:
    conn = psycopg2.connect(host="localhost", database="mydb", user="myuser", password="mypassword")
    # 연결 작업 수행
except psycopg2.OperationalError:
    print("데이터베이스에 연결할 수 없습니다.")

4. 숫자 문자열 변환

숫자로 변환 가능한 문자열을 숫자로 변환할 때 오류가 발생할 수 있습니다. 이 경우 ValueError 예외를 처리할 수 있습니다.

def parse_integer(string):
    try:
        return int(string)
    except ValueError:
        return None

number = parse_integer("123")
if number is not None:
    print("숫자로 변환된 값:", number)
else:
    print("올바른 숫자 형식이 아닙니다.")

위 예제에서는 parse_integer() 함수에서 변환에 실패한 경우 None을 반환하여 오류 상황을 알립니다.

예외 처리 패턴은 프로그램의 신뢰도와 안정성을 높여주는 중요한 요소입니다. 항상 예외 처리에 신경을 쓰고, 예외를 적절히 처리하여 프로그램이 예측 가능하고 안정적으로 실행되도록 만들어야 합니다.