# 异常与错误模型检查清单

## noexcept 与析构

- 标记为 `noexcept` 的函数、移动构造/赋值或析构中是否新增可能抛出的操作且无 `try`/降级策略。
- 析构函数中是否抛出异常（违反语言规则与惯例）。

## 异常安全等级

- 提供强/基本保证的 API 是否在失败路径上留下损坏不变量、泄漏资源或部分构造对象未清理（diff 可证）。

## 错误传播

- 若 diff 使用错误码、`std::expected` 或 `Outcome` 式 API，是否混用未检查返回值与异常两种模型导致遗漏错误处理。

仅在 diff 能支撑结论时报告问题；不猜测调用方是否捕获异常。
