当我调用下面的方法时,会执行两个返回,我不知道为什么。在
def Build(self, name = None):
if self.buildData:
try:
installData = self.buildData.Build(name)
return BuildResult(True, installData)
except:
pass
else:
Log("Application has no <build> data")
return BuildResult(False, None)
结果是:
好吧,我猜BuildResult()失败了,异常被传递,然后进入第二个返回。只需在except-never make exceptions silent:)中添加一些调试打印即可轻松测试它
当执行
return BuildResult(True, installData)
时,BuildResult(True, installData
)首先计算。我的猜测是,这个函数引发一个异常,该异常被捕获并pass
ed,然后执行return BuildResult(False, None)
。在您应该看到引发了什么异常并正确地处理它。在
我将重写函数如下:
相关问题 更多 >
编程相关推荐