以下是一个示例代码,展示了如何避免从方法响应中冗余地检查状态:
class Response:
def __init__(self, status, message):
self.status = status
self.message = message
class Example:
def __init__(self):
self.response = None
def get_data(self):
# 模拟从服务器获取数据
# 假设这里可能发生网络错误
try:
# 这里省略实际的数据获取过程
# 假设获取成功
self.response = Response(200, "数据获取成功")
except Exception as e:
self.response = Response(500, "网络错误")
def process_data(self):
# 如果数据获取成功,则继续处理数据
if self.response.status == 200:
# 处理数据的逻辑
print("数据处理中...")
else:
print("数据获取失败,请重试")
example = Example()
example.get_data()
example.process_data()
在上面的示例中,Example
类有两个方法:get_data()
和 process_data()
。get_data()
方法模拟从服务器获取数据,可能会发生网络错误。process_data()
方法用于处理获取到的数据。
在 get_data()
方法中,根据实际情况,我们可以使用 try-except
块来捕获可能发生的网络错误,并将错误信息存储在 response
属性中。
在 process_data()
方法中,我们只需要检查 response.status
的值来确定数据是否获取成功。如果状态码为 200,则继续处理数据;否则,输出错误提示信息。
通过将状态信息封装在 Response
对象中,我们可以避免在每个方法中冗余地检查状态,使代码更加简洁和可维护。