【问题标题】:Is it possible to use error as an output?是否可以使用错误作为输出?
【发布时间】:2021-12-20 01:36:43
【问题描述】:

我想设计一个函数,其中错误可以用作输出并且不会终止整个代码。我想使用发生错误的元素的值并将其返回。是否有关键字或任何方式?

【问题讨论】:

  • 你能举个例子吗?

标签: python error-handling output


【解决方案1】:

您可以使用try/except 来捕获异常。

下面的代码向您展示了如何捕获任何异常并获取值。您可以阅读handling exceptions 上的文档页面。

import sys
try:
    non_existing # this usually raises a NameError
except:
    e = sys.exc_info()[0]
    print(e)

输出:<class 'NameError'>

【讨论】:

  • 谢谢。我被困了很长一段时间
【解决方案2】:

嗯,你想要做的当然是可能的。

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) 然后检查它的父类,然后把它放在那里而不是“异常”类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-08-18
    • 2019-01-20
    • 2020-01-05
    • 2023-03-10
    • 1970-01-01
    • 2011-01-07
    • 1970-01-01
    相关资源
    最近更新 更多