[파이썬] 예외 처리 패턴의 적용 사례
예외 처리 패턴은 프로그램에서 예외 상황을 처리하는 효과적인 방법을 제공합니다. 이번 글에서는 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
을 반환하여 오류 상황을 알립니다.
예외 처리 패턴은 프로그램의 신뢰도와 안정성을 높여주는 중요한 요소입니다. 항상 예외 처리에 신경을 쓰고, 예외를 적절히 처리하여 프로그램이 예측 가능하고 안정적으로 실행되도록 만들어야 합니다.