问题域/PD-239

错误码体系

Error Code System

通过自注册错误码和 Status 类实现结构化错误传播与跨语言错误映射

子问题

1.错误码自动注册

2.跨语言错误映射

3.错误分类与分级

4.错误传播样板代码消除(宏族设计)

5.双层错误模型的粒度选择(细粒度 int vs 语义枚举)

各项目的解法1 solutions

Signals

横向对比

维度zvec
注册机制宏驱动编译期自注册,Code 构造函数写入 Meyer's Singleton map
错误分类四段编号(内建/通用/校验/调度)覆盖 70+ 错误码
传播模型双层:底层 int ErrorCode + 上层 Result<T>=tl::expected<T,Status>
跨语言映射pybind11 完整绑定 StatusCode 枚举 + Status 工厂方法到 Python
样板消除CHECK_RETURN_STATUS 系列宏,按返回类型分 Status/Expected 两族

最佳实践

1.用宏实现编译期错误码注册,避免运行时遗漏

2.用引用变量防止链接器优化掉全局自注册对象

3.Status 工厂用变参模板实现零开销字符串拼接

4.按返回类型分族设计 CHECK 宏(Status 返回 vs expected 返回)