按错误恢复,必要时交付部分结果
Error Handling / Degradation
为不同错误设定有限的恢复步骤,未完成时如实说明已得到的结果。
以下示例与示意结果由本站编写,用于说明方法,不是模型实测结果。
使用场景
一份仓库报告需要目标元数据,issue 上下文则可选。教学元数据应确定 repo-a 的版本;issue 查询超时,或遇到认证失败。你要在恢复范围内继续有价值的工作,同时不把缺失内容写成已取得。
具体做法
先区分必需与可选输入,再按错误类型安排有限恢复。目标元数据缺失则停止目标相关结论;可选 issue 超时按约定重试一次,仍失败就交付带缺口的元数据报告。认证错误需要正确访问,不用重复请求或其他账号绕过。每项结果记录已取得、未取得和处理原因。
反例
任何查询失败都无限重试,直到能宣布报告完整。认证失败就尝试更宽账号;没有 issue 内容时根据标题猜出细节。
改进写法
按上述报告依赖恢复:元数据缺失时目标版本未确认,停止相关报告;可选 issue 超时只重试一次,仍失败则报告已有元数据并标 issue 不可用。认证失败说明访问缺口,不换范围绕过,也不编造 issue 内容。最终列每个输入状态和部分报告边界,不把降级叫完整。
为什么这样改
相同的失败不一定影响同样的交付:缺目标版本会破坏报告身份,可选背景缺失则可以保留受限结果。有限且分类的恢复避免无休止重复,也让用户知道哪些结论还没有证据。
如何验证
教学测试三种情况:元数据缺失→目标未确认;元数据有效、issue 两次超时→有元数据的部分报告;issue 认证失败→访问未满足。
检查重试次数有限、输出没有补造内容,恢复没有扩大授权。仅看到一个成功输入不能把整体标为完整。
适用边界
一次重试是本例约定,应服从真实服务的限流和恢复协议。写入重试还需幂等或去重保障;本篇只有读取,不在真实系统反复调用。原文未确认。
原文与版本
暂未找到可链接的原文。本文示例由本站编写,用来说明方法。
如何收录这些方法