欢迎访问宙启技术站
智能推送

如何处理Python中的requests.exceptionsHTTPError()异常

发布时间:2023-12-26 01:01:14

在Python中,可以使用requests库来发送HTTP请求。当出现异常情况时,requests库会抛出不同的异常,其中一个常见的异常是requests.exceptionsHTTPError。这个异常表示HTTP请求返回了一个错误状态码。

处理requests.exceptionsHTTPError异常可以采取以下步骤:

1. 引入requests库和requests.exceptions模块:

   import requests
   from requests.exceptions import HTTPError
   

2. 使用try-except语句捕获requests.exceptionsHTTPError异常:

   try:
       response = requests.get(url)
       response.raise_for_status()  # 检查请求是否成功,否则抛出HTTPError异常
   except HTTPError as http_err:
       print(f'HTTP error occurred: {http_err}')
   except Exception as err:
       print(f'Other error occurred: {err}')
   

3. 在异常处理块中,可以根据具体的需求进行相应的处理。例如,可以打印错误消息,记录日志,或者采取其他措施来处理异常。

下面是一个完整的例子:

import requests
from requests.exceptions import HTTPError

url = "https://www.example.com"

try:
    response = requests.get(url)
    response.raise_for_status()  # 检查请求是否成功,否则抛出HTTPError异常
    # 进一步处理响应数据
    print(response.text)
except HTTPError as http_err:
    print(f'HTTP error occurred: {http_err}')
except Exception as err:
    print(f'Other error occurred: {err}')

在这个例子中,我们通过请求一个URL来演示处理requests.exceptionsHTTPError异常。如果请求返回的状态码不是200(成功)时,会抛出HTTPError异常。我们可以根据具体的需求,对这个异常进行相应的处理。

注意:在处理requests.exceptionsHTTPError异常时,需要注意的是,这个异常是requests库自己定义的,不同于Python的内置HTTPError异常。因此,在处理时要使用requests.exceptions.HTTPError,而不是直接使用HTTPError。