使用 Python 的請求模組處理異常
發出 HTTP 請求時捕獲異常對於穩健的錯誤處理至關重要。雖然提供的程式碼片段可以處理一些與連接相關的錯誤,但它忽略了其他潛在問題。
根據請求文檔,會針對以下情況引發不同的異常類型:
為了涵蓋所有基礎,你可以:
捕捉基類異常:try: r = requests.get(url, params={'s': thing}) except requests.exceptions.RequestException as e: # Handle all cases raise SystemExit(e)
try: r = requests.get(url, params={'s': thing}) except requests.exceptions.Timeout: # Implement a retry strategy except requests.exceptions.TooManyRedirects: # Notify user of incorrect URL except requests.exceptions.RequestException as e: # Catastrophic error, terminate raise SystemExit(e)
如果您需要引發HTTP 狀態代碼的異常(例如401 Unauthorized ),請呼叫
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)
以上是使用Python的Requests模組時如何處理所有可能的異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!