我是Python的初学者,但我提到了几个与Python中单独处理错误消息相关的问题,并且还阅读了引发异常的最佳实践。然而,当使用单个函数处理/验证错误时,处理错误消息更像是一个设计问题
有单独的函数进行不同的API调用。为了处理响应,所有这些函数都使用以下通用函数:
def print_if_error_and_exit(response, debug, message_override_map=None, exit_on_failure=True):
if hasattr(response, 'status') and (response.status < 200 or response.status >= 300):
overriden_message = message_override_map.get(response.status) if message_override_map else None
if overriden_message:
error_message = overriden_message
elif hasattr(response, 'message'):
error_message = response.message
else:
error_message = 'No error message found'
if exit_on_failure:
print_error_message('Error (HTTP {0}): {1}'.format(response.status, error_message))
if debug:
print_error_message(repr(response))
sys.exit(1)
else:
raise ResponseException(error_message)
现在,我们希望保留这个函数,但同时也能够提供定制的、特定于API的、人性化的错误消息。一种方法是使用dict
调用此函数,该函数可以获取HTTP状态码和相应的自定义消息。然而,这可能不是最好的办法,我想知道是否有更好的办法来实现这一目标
目前没有回答
相关问题 更多 >
编程相关推荐