我应该在try/except之后使用finally吗



我有一堆类似于这种结构的函数:

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了。

"最后";即使引发异常也会执行。在你的具体情况下,这是不需要的。

最新更新