【发布时间】:2021-12-20 01:36:43
【问题描述】:
我想设计一个函数,其中错误可以用作输出并且不会终止整个代码。我想使用发生错误的元素的值并将其返回。是否有关键字或任何方式?
【问题讨论】:
-
你能举个例子吗?
标签: python error-handling output
我想设计一个函数,其中错误可以用作输出并且不会终止整个代码。我想使用发生错误的元素的值并将其返回。是否有关键字或任何方式?
【问题讨论】:
标签: python error-handling output
您可以使用try/except 来捕获异常。
下面的代码向您展示了如何捕获任何异常并获取值。您可以阅读handling exceptions 上的文档页面。
import sys
try:
non_existing # this usually raises a NameError
except:
e = sys.exc_info()[0]
print(e)
输出:<class 'NameError'>
【讨论】:
嗯,你想要做的当然是可能的。
def fun(a,b):
try :
c = a/b
except Exception as e:
print(e)
return a
print(fun(10,0))
输出 10
在 except 块中,您可以访问 try 块中的任何信息,例如 a 或 b。但是你不能访问像 c 这样的变量,因为异常发生在它发生之前,它就从未发生过。大多数情况下,您尝试做的事情应该是可能的,只需稍作调整即可。如果您只想排除某些特定类型的错误。然后你使用 type(e) 然后检查它的父类,然后把它放在那里而不是“异常”类。
【讨论】: