2012-01-29 183 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