[python] 요청 응답에 대한 예외 처리하기

소개

웹 개발이나 데이터 분석 등을 할 때, 외부 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 문을 사용하여 간단하게 구현할 수 있습니다. 이를 통해 예기치 못한 상황에서 발생하는 예외를 처리할 수 있고, 안정적인 프로그램을 작성할 수 있게 됩니다.