gpt4 book ai didi

Python异常处理: Check return value of function

转载 作者:太空宇宙 更新时间:2023-11-03 18:30:25 25 4
gpt4 key购买 nike

在使用函数返回值之前,我想检查该值是否可用。所以我所拥有的或多或少是以下内容:

def get_module():
import foo
return foo

def do_something():
try:
module = get_module()
except:
print "error"

module.bar()

不幸的是,在我看来,这永远不会引发异常。特别是,我想检查(a)模块是否已正确传输以及(b)该模块是否是三个可能的模块之一。

我知道我可以通过 if 语句进行检查,但我觉得异常处理应该是正确的方法。

最佳答案

如果无法导入 foo,下面的代码将生成 ImportError异常(exception):

def get_module():
import foo
return foo


def do_something():
try:
module = get_module()
except ImportError:
print "Import Error!"
raise

module.bar()


do_something()

产品:

Import Error! 
Traceback (most recent call last):
...
import foo
ImportError: No module named foo

请注意,您应该通过 except block 中的 raise 重新引发异常,或者进行 return,这样您就不会由于未定义的 module 变量,在 module.bar() 行上出现错误。

希望有帮助。

关于Python异常处理: Check return value of function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22461500/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com