我有一堆类似于这种结构的函数:
def df():
try:
foo = #do some computation
except Exception:
foo = #do other computation
return foo
我想知道与其他实现有什么不同:
def df():
try:
foo = #do some computation
except Exception:
foo = #do other computation
finally:
return foo
这种情况下我应该使用什么?我觉得它有点多余,而且我也担心执行时间,因为我有更多的功能使用相同的架构,我不知道最后添加是否会过多地增加执行时间。
如果您正在捕获这样的泛型异常,并且没有将其扔回调用方法,那么两者在功能上是相同的。finally关键字保证在try/catch处理后运行,因此在这些示例中,它没有真正的区别。通常,finally关键字用于确保在执行try/catch块之后线程状态或连接关闭。如果这些确实代表了您的代码,那么我就不会使用finally了。
"最后";即使引发异常也会执行。在你的具体情况下,这是不需要的。