怎么使用requests.exceptions.HTTPError捕获异常
时间: 2024-09-15 21:06:03 浏览: 39
当你使用Python的requests库发送HTTP请求时,`requests.exceptions.HTTPError`异常会在接收到服务器返回的状态码不在200(成功)范围内的响应时被捕获。以下是使用这个异常处理的过程:
```python
import requests
try:
response = requests.get('http://example.com') # 或者其他可能失败的请求
except requests.exceptions.HTTPError as errh:
print(f"HTTP Error: {errh.response.status_code}")
if isinstance(errh.response, requests.Response):
print(f"Response text: {errh.response.text}")
except requests.exceptions.ConnectionError as errc:
print(f"Error Connecting: {errc}")
except requests.exceptions.Timeout as errt:
print(f"Timeout Error: {errt}")
except requests.exceptions.RequestException as err:
print(f"Something went wrong: {err}")
```
在这个例子中,我们首先尝试获取一个资源,然后在`try`块中捕获`requests.exceptions.HTTPError`。如果状态码不是2xx,我们将打印出状态码以及响应文本(如果有)。对于其他的网络错误,比如连接错误、超时等,我们也分别处理了对应的异常类型。
记得在实际项目中,你应该根据具体情况处理不同类型的异常,并提供合适的错误信息或恢复策略。
阅读全文