
請求 - 處理錯誤
本章將探討如何處理使用 HTTP 請求庫時出現的錯誤。對於所有可能的情況進行錯誤管理始終是一種好習慣。
錯誤異常
請求模組提供以下型別的錯誤異常 -
ConnectionError - 當出現任何連線錯誤時,將引發該異常。例如,網路故障、DNS 錯誤,因此 Request 庫將引發 ConnectionError 異常。
Response.raise_for_status() - 根據狀態程式碼(即 401、404),它會為請求的 URL 引發 HTTPError。
HTTPError - 該錯誤將針對請求提出的無效響應引發。
超時 - 為請求的 URL 引發的超時錯誤。
TooManyRedirects - 如果超過最大重定向限制,它將引發 TooManyRedirects 錯誤。
示例
以下是超時錯誤的示例 -
import requests getdata = requests.get('https://jsonplaceholder.typicode.com/users',timeout=0.001) print(getdata.text)
輸出
raise ConnectTimeout(e, request=request) requests.exceptions.ConnectTimeout: HTTPSConnectionPool(host='jsonplaceholder.ty picode.com', port=443): Max retries exceeded with url: /users (Caused by Connect TimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x000000B02AD E76A0>, 'Connection to jsonplaceholder.typicode.com timed out. (connect timeout = 0.001)'))
廣告