处理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属性获取具体错误信息、自定义处理异常的行为等。根据实际需求,可以选择不同的方法和技巧来处理异常。
