2012-01-29 266 views
26

如何用python庫請求處理異常? 例如如何檢查電腦是否連接到互聯網?Python請求異常處理

當我嘗試

try: 
    requests.get('http://www.google.com') 
except ConnectionError: 
    # handle the exception 

它給我的錯誤名稱ConnectionError沒有定義

+0

請附上你想處理異常的回溯。 – AdamKG 2012-01-29 16:47:44

回答

58

假設你做import requests,你要requests.ConnectionErrorConnectionError是由requests定義的例外。請點擊此處查看API documentation

+2

爲清楚起見,即:'除了requests.ConnectionError:',NOT'import requests.ConnectionError' – StackG 2015-02-22 10:52:24

+0

@StackG謝謝你的額外清晰度,我試圖直接導入類。 – Jazzepi 2015-05-07 02:22:36

5

爲了清楚,是

except requests.ConnectionError: 

import requests.ConnectionError 

 

您還可以趕上一般例外(雖然這是不建議使用),

except Exception: 
1

實際上,requests.get()可以產生的例外不止ConnectionError。這裏有一些我見過生產:

from requests import ReadTimeout, ConnectTimeout, HTTPError, Timeout, ConnectionError try: r = requests.get(url, timeout=6.0) except (ConnectTimeout, HTTPError, ReadTimeout, Timeout, ConnectionError): continue