最终部分重新提出异常的优雅方式存在

时间:2015-12-28 07:35:47

标签: python

我想从函数中捕获异常,而如果函数中存在finally部分,则外部部分无法知道异常存在。

以下是代码:

def f():
    l = []

    try:
        raise Exception('fake')
    except:
        raise e
    finally:
        return l

try:
    f()
except:
    print 'wrong'
else:
    print 'right'

输出

right

如果我删除“finally”部分,它将按预期输出错误。

我知道来自here的原因,但我不知道处理这种情况的任何优雅方式,如果我需要 re-raise 和{{我应该如何编写代码? 1}}在一起?

0 个答案:

没有答案