python - 重新引发异常有什么意义?

标签 python exception

所以我在其他地方看到提到使用以下内容重新引发异常。

try:
    whatever()
except:
    raise

重新引发异常的目的是什么?无论如何,未捕获的异常肯定会上升到顶部吗?即:

try:
    int("bad")
except:
    raise

具有相同的输出:

int("bad")

即我在控制台中收到 ValueError。

最佳答案

您的示例代码毫无意义,但如果您想执行仅在失败时发生的日志记录或清理,您可以将其放在 except:raise 之间,并且您将完成这项工作,然后继续进行,就好像原始异常正常冒泡一样。

关于python - 重新引发异常有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39143878/

相关文章:

python - 如何在 matplotlib 中制作按密度着色的散点图?

python - 在 Python 中访问列表

python - 用于部署单节点的 Storm 替代方案

安卓异常 : Did you forget to call 'public void setup (LocalActivityManager activityGroup)'

python - cvxpy 正在解决产生空答案

python 2.7 : setlogmask(0) not disabling syslog

java - Servlet 异常

java - toString 方法抛出异常

python - 在 "with"关键字打开资源期间捕获异常

java - 在 Java 中获取 URL 响应抛出异常