首页 / 错误处理
📖 错误处理 是什么?
像开车遇红灯:踩刹车、看路况、绕道继续走。
⚡ 一句话秒懂
像开车遇红灯:踩刹车、看路况、绕道继续走。
📖 举个故事
小陈的 Agent 半夜悄悄崩了,客户早上发现订单没处理。查日志才知道:支付接口返回了个空值,代码没检查就直接用,当场炸掉。他改成“先检查再干活”:数据到手先验证是不是空、格式对不对,不对就走备用流程并记一笔。从此 Agent 再遇到怪数据,不再躺平罢工,而是绕过去继续跑。就像电梯维修师傅:先看灯亮不亮,不亮就爬楼梯,绝不干等。
💡 类比理解
暂未补充。
🧩 真实例子
暂未补充。
🛠️ 怎么实际使用
Agent 调外部 API 时,用 try/except 把可能出错的地方包起来:except requests.Timeout 就改用缓存结果兜底;except 其他异常则返回结构化错误 {'code': 'search_down', 'message': '搜索服务暂不可用'},让 LLM 自己决定换工具或告诉用户。千万别用裸 except 吞掉所有异常——错误被咽下去,排查时只能干瞪眼。每个分支都要记日志。
📚 进阶原理
错误处理三原则:不崩溃、可诊断、可恢复。Python 用 try/except/finally,异常要精确捕获,比如把 requests.Timeout、JSONDecodeError、KeyError 分开处理,裸 except 会掩盖真实 bug。Agent 场景建议给 LLM 返回带 code 和 message 的结构化错误,模型可据此决定重试、换工具或向用户解释;可恢复的瞬时错误配合指数退避重试(见“重试机制”)。