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

处理ResponseError()异常的方法与技巧

发布时间:2024-01-16 10:07:11

处理ResponseError()异常的方法与技巧:

1. 使用try-except语句处理异常

import requests

try:
    response = requests.get('https://www.example.com')
    response.raise_for_status() # 检查响应是否正常
except requests.exceptions.ResponseError as err:
    print("ResponseError:", err)

上述代码中,response.raise_for_status()检查了响应是否正常。如果发生了ResponseError()异常,就会被捕获,并且打印出错误信息。

2. 使用response.status_code属性获取详细错误信息

import requests

response = requests.get('https://www.example.com')

if response.status_code != 200:
    raise requests.exceptions.ResponseError(f"{response.status_code}: {response.content}")

在这个例子中,如果响应的状态码不是200(表示成功),就会抛出ResponseError()异常,并且将状态码和响应的内容一同打印出来。

3. 自定义处理异常的行为

import requests

class CustomResponseError(Exception):
    def __init__(self, status_code, message):
        self.status_code = status_code
        self.message = message

try:
    response = requests.get('https://www.example.com')
    if response.status_code != 200:
        raise CustomResponseError(response.status_code, "Custom error message")
except CustomResponseError as err:
    print(f"CustomResponseError: {err.status_code} - {err.message}")
except requests.exceptions.ResponseError as err:
    print(f"ResponseError: {err}")

在上述代码中,我们自定义了一个CustomResponseError()异常,并且在发生特定的错误时抛出。这样就可以根据不同的错误类型自定义处理异常的行为。

总结:

处理ResponseError()异常的方法与技巧主要包括使用try-except语句捕获异常、使用response.status_code属性获取具体错误信息、自定义处理异常的行为等。根据实际需求,可以选择不同的方法和技巧来处理异常。