您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

用其他类型和消息重新引发异常,保留现有信息

用其他类型和消息重新引发异常,保留现有信息

引入了 (如PEP 3134中所述)。这允许在引发异常时引用现有异常作为“原因”:

try:
    frobnicate()
except KeyError as exc:
    raise ValueError("Bad grape") from exc

捕获到的异常(excKeyError)因此成为新异常ValueError的一部分(“原因”)。任何捕获新异常的代码都可以使用“原因”。

通过使用此功能__cause__可以设置属性。内置的异常处理程序还知道如何报告异常的“原因”和“上下文”以及回溯。

在 ,该用例似乎没有很好的答案(如Ian BickingNed Batchelder所述)。笨蛋

其他 2022/1/1 18:35:15 有480人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶