소개
웹 개발이나 데이터 분석 등을 할 때, 외부 API나 웹 서버로부터 요청한 응답을 처리해야 할 때가 있습니다. 하지만 이 응답이 항상 성공적으로 오지 않을 수도 있고, 예기치 못한 상황에서 예외가 발생할 수 있습니다. 이러한 상황에 대비하여 요청 응답에 대한 정확한 예외 처리를 해야합니다.
이번 포스트에서는 Python에서 요청 응답에 대한 예외 처리를 어떻게 할 수 있는지 알아보겠습니다.
예외 처리하기
Python에서 요청 응답에 대한 예외 처리는 try-except
문을 사용하여 구현할 수 있습니다.
예를 들어, requests
모듈을 사용하여 외부 API로 요청을 보낼 때, 서버에 문제가 발생하여 응답이 오지 않거나, 응답이 오긴 했지만 오류 코드가 포함되어 있는 경우가 있을 수 있습니다. 이러한 경우에 대비하여 예외 처리를 할 수 있습니다.
import requests
try:
response = requests.get("https://api.example.com/")
response.raise_for_status() # 응답이 오류 코드를 포함하고 있다면 예외 발생
data = response.json()
# 데이터 처리
except requests.exceptions.RequestException as e:
# 요청이 실패한 경우 예외 처리
print("요청 실패:", e)
except requests.exceptions.HTTPError as e:
# 응답이 오류 코드를 포함하는 경우 예외 처리
print("오류 응답:", e)
except ValueError as e:
# JSON 데이터 파싱이 실패한 경우 예외 처리
print("데이터 파싱 실패:", e)
위의 예제에서 requests.get()
메서드로 요청을 보낸 후에 response.raise_for_status()
를 호출하면, 응답이 오류 코드를 포함하고 있다면 예외가 발생합니다. 따라서 이를 try-except
문으로 처리하면 됩니다.
또한, 만약 응답 데이터가 JSON 형식이라면 response.json()
을 사용하여 파싱할 수 있습니다. JSON 파싱에 실패하는 경우 ValueError
예외가 발생하므로, 이 역시 try-except
문으로 처리할 수 있습니다.
결론
Python에서 요청 응답에 대한 예외 처리는 try-except
문을 사용하여 간단하게 구현할 수 있습니다. 이를 통해 예기치 못한 상황에서 발생하는 예외를 처리할 수 있고, 안정적인 프로그램을 작성할 수 있게 됩니다.