Prompts-MCP 686 skills · ai / design / design-pattern / framework / fundamentals / habit / lang / tech-selection /mcp/sse
design-pattern design-pattern/assertion/index.md medium

assertion-index

断言式异常处理 — 失败立即抛 ApiException,业务代码线性直叙;4 个叶子下钻

子项索引

子项 一句话
principle skill 断言式异常处理三条精髓 + Asserts 引擎 12 个通用方法
asserts-class skill 场景化 Asserts 类设计 — 命名约定 / 错误码绑定 / 真实示范(TextbookAsserts / OutlineAsserts)
validator-vs-assertion skill Pydantic Schema validator 与 Asserts 各自的边界 + 5 个不该用断言的反例
side-effect-cleanup skill 与 ApiException 三件套配合的边界 try/except — 何时需要捕获 ApiException 做副作用清理

Design Pattern · Assertion

一句话

业务校验首选断言<Domain>Asserts.<语义方法>(...) 失败立即抛 ApiException,业务代码读起来像直叙。

来源

参考 Java ImportAsserts 范式。

何时下钻到这层

任务 选哪个子项
新业务模块想加 Asserts 类 asserts-class
不确定 Asserts 与 Pydantic 怎么分工 validator-vs-assertion
在 service / pipeline 写 try/except side-effect-cleanup
想了解整体思想 principle

典型落点

代码层:

  • 引擎:py/core/assertion.py 12 个静态方法
  • 业务包装:py/asserts/ 多个业务专属类(按领域命名)
  • 前端镜像:frontend/app/lib/assertion.ts ApiError + Asserts 系列方法

链接