【发布时间】:2021-12-30 07:49:22
【问题描述】:
作为一名 Python 新手,我以有趣的方式解决问题。这就是其中之一。
我想将错误消息传递给错误处理脚本(一个类),这样我就可以自定义错误消息。例如,当引发“FileNotFoundError”时,我想显示/发送一条消息,例如“找不到 xxx 文件,请检查 yyy 目录。”。或者 'ConnectionResetError'、message ... 'Database connection restarted'.. 等等(大约 15 条不同的消息)。
因此,当引发异常时,我传递了错误:
if __name__ == "__main__":
try:
do stuff...
except Exception as e:
ErrorHandlingClass.ErrorMessageHandler(e)
到
class ErrorMessageHandler:
def __init__(self, error):
err_type = str(type(error)) # obviously this is dumb
err_type = (err_type[8:-2])
if err_type == 'FileNotFoundError':
print("Can not reach 'jconfig.json': {}".format(error))
首先,如何捕获例如'FileNotFoundError' 没有拉出字符串。
其次,专业的方式是什么?
第三,既然我需要一堆 if/elif 来生成唯一的消息,为什么还要麻烦一个特殊的类,只要放例如除了 FileNotFoundError as e... 具有唯一消息,并放在“main”下,并针对每个引发的错误类型执行 20 次?然后 main 变得乱七八糟。
谢谢
【问题讨论】:
标签: python error-handling