error 设计
职责
- 为带检查的线性代数 API 提供共享的错误类型。
- 同时保留适合程序判断的
kind和适合人阅读的message。 - 让调用者不需要解析错误文本,就能按常见失败类别分支处理。
- 通过
ArithmeticFailure保留下层标量运算传播出来的算术错误。
非职责
- 不在这里实现矩阵、向量或后端算法。
- 不定义奇异矩阵、非收敛或算术错误的恢复策略。
- 不负责日志、国际化或展示格式。
- 不把
message文本作为控制流判断的语义契约。
维护说明
只有当带检查的公开 API 需要暴露一类新的失败时,才新增错误种类。新增时应同步维护枚举项、构造函数和判断方法,让调用者无需直接拆解错误值也能创建和识别错误。