是`try:... except:raise`用Python做任何事情?

rsl*_*lnx -1 python exception-handling

我看到这样的代码:

try:
    print abc # actually different code was here but it doesn't matter, right?
except:
    raise
Run Code Online (Sandbox Code Playgroud)

是否有理由投入print abc这种奇怪的try: except: raise建筑?Except子句只有一个raise操作,所以如果捕获了异常,它只被重新加入外部,对吧?所以我猜这个结构除了代码行之外什么也没带来,对吗?

Mar*_*ers 5

这段代码没什么意义.它确实只捕获任何和所有异常,然后再次重新提升它们.回溯和异常得以维护,因此就其他Python代码而言,重新加注也可能不存在.

可能是代码曾经做过多次但是作者希望通过保持缩进相同来最小化VCS的变化.或者也许认为在异常的情况下插入日志记录或调试代码是一个方便的点.