用idiomatically重新添加python中的异常

时间:2017-04-04 19:51:55

标签: python exception-handling idiomatic

如果以下两个代码块之间存在差异,我真的很好奇......

# block 1
def a_function():
    try:
        b_function()
    except Exception:
        raise

def b_function():
    raise Exception("Oh nooooo!")

和...

# block 2
def a_function():
        b_function()

def b_function():
    raise Exception("Oh noooooo!")

我知道第一次重新提升了从Exception中抓取的b_function,但这与第二个区块有什么不同,我只是让Exception上升到后来赶上或停止该计划?如果它们具有相同的效果,则是一种格式或多或少的“pythonic”#39;比另一个?

What is the point of re-raising exceptions?提出了类似的问题,但他们没有提到这会对堆栈跟踪产生什么影响。第一个块是否会更改'来源'错误到a_functionException保留来自b_function的来源?

0 个答案:

没有答案