【发布时间】:2023-03-04 00:23:01
【问题描述】:
我是 python 软件开发的新手。我创建了一个脚本,其中包含许多返回请求输出并处理它们生成的异常的函数。功能之一。如下:
def ApiResponse(emailHash):
r=None
errorMessage = ""
url = "https://dummy.com"
try:
r = requests.get(url, timeout = TIMEOUT_LIMIT)
except requests.exceptions.Timeout as e:
errorMessage = "Timeout Error"
except requests.ConnectionError as e:
errorMessage = "ConnectionError"
except requests.RequestException as e:
errorMessage = "Some other Request Exception"
return r
我有许多这样的函数返回不同请求的响应。但是,它们都重复异常处理代码。我想在另一个函数中单独处理异常,这样我就不必重复自己了。我尝试过将变量“e”传递给其他函数并将其与异常类型进行比较并相应地返回不同的错误消息,但我似乎无法比较,比如说,e == requests.exceptions.Timeout。
我还能做些什么来分离那个异常处理部分?我的目标是编写模块化代码!
【问题讨论】:
标签: python exception modular-design