Python 요청 모듈에서 오류 처리 시도/제외
Python에서 요청 모듈을 사용하는 것은 API 호출 및 HTTP 요청을 처리하는 편리한 방법입니다. . 요청 실행 중 오류가 발생하면 강력한 오류 처리가 필수적입니다.
이 코드가 맞나요?
try: r = requests.get(url, params={'s': thing}) except requests.ConnectionError, e: print(e)
이 코드는 ConnectionError 예외를 처리하여 연결 관련 오류만 포착합니다. 그러나 이는 요청 모듈에서 발생할 수 있는 모든 오류 시나리오를 다루지는 않습니다.
오류 처리를 구조화하는 더 나은 방법
모든 잠재적인 오류가 처리되도록 하려면, ConnectionError와 같은 특정 예외 대신 요청.Exceptions.RequestException 기본 예외 클래스를 포착하는 것이 좋습니다.
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # This is the correct syntax raise SystemExit(e)
또는 특정 예외를 별도로 처리하고 그에 따라 다른 조치를 취할 수도 있습니다. 예를 들어 연결 오류와 시간 초과를 다르게 처리할 수 있습니다.
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Maybe set up for a retry, or continue in a retry loop except requests.exceptions.TooManyRedirects: # Tell the user their URL was bad and try a different one except requests.exceptions.RequestException as e: # catastrophic error. bail. raise SystemExit(e)
HTTP 오류 잡기
401 Unauthorized와 같은 HTTP 오류에 대해 예외를 발생시키려는 경우, Response.raise_for_status() 메서드를 사용할 수 있습니다.
try: r = requests.get('http://www.google.com/nothere') r.raise_for_status() except requests.exceptions.HTTPError as err: raise SystemExit(err)
예외를 철저하게 처리하고 오류 유형에 따라 동작을 사용자 정의하면 코드가 HTTP 요청 중 오류 및 사용자 입력에 적절하게 응답하도록 할 수 있습니다. .
위 내용은 Python 요청 모듈의 오류를 효과적으로 처리하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!