請求 - 處理錯誤



本章將探討如何處理使用 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)'))   
廣告