Skip to content

七、异常与资源管理 ​

异常是错误传播机制,不是输入校验替代品;上下文管理器是资源生命周期协议,不只是文件语法糖。本章建立异常边界、异常链、重试边界和确定性资源清理方法。

本章目录 ​

  1. 异常层次、异常链、错误边界与重试
  2. with、contextlib 与异常安全

学习目标 ​

  • 区分 BaseException 与 Exception,设计可处理的业务异常层次。
  • 用 raise ... from ... 保留根因,理解 3.11+ ExceptionGroup。
  • 将重试限制在瞬态、幂等且有预算的边界。
  • 使用 with、contextmanager、ExitStack 和 asynccontextmanager 确定性释放资源。

验证基线 ​

本章示例位于 example-project/src/tasklib/resources.py,异常链、成功提交、失败回滚和异常后状态恢复已通过 4 个专项测试。

关联章节 ​

ICP 备案号待补充 · Gitee 主页