假设我有一个函数:def ReadFile():
with open("/etc/passwd") as file:
data = file.read()
这个函数可能成功,在这种情况下,它需要返回一个结果,或者它可能失败,在这种情况下,我想返回异常的回溯,它将通过电子邮件发送给我,以便我知道我的程序中发生了什么故障,以及失败的确切原因。在
为此,我可以做一些类似的事情:
^{pr2}$
如果它能够成功地读取文件,它将返回文件的内容。否则,它将返回异常的回溯。在
在回溯.format_-exc()返回一个字符串。如果ReadFile()应该返回一个list,或者如果它成功的话返回tuple或integer,那么事情就简单了——当你调用ReadFile()时,如果返回的结果是一个字符串,那么你知道它失败了,你可以运行发邮件给你错误的代码,如果结果是你期望的类型(int、tuple、list或w/e),那么你就知道它起作用了。在
如果ReadFile()应该返回一个字符串,就像我的示例中所做的那样,那么判断ReadFile()是成功还是失败要困难得多,因为您需要解析该字符串,以确定它看起来像是回溯还是预期的结果。在
有更好的方法吗?也许有某种方法可以让回溯返回某种具有与回溯.format_-exc()包含,以便更容易确定ReadFile()是成功还是失败?在