当前位置: 首页 > wzjs >正文

python完整网站开发项目视频尚品中国多年专注于高端网站建设

python完整网站开发项目视频,尚品中国多年专注于高端网站建设,广州有哪些知名企业,公司网站建设代理一般做多久Chapter 8: Error Handling 从服务器通信到错误处理:如何让AI像“快递客服”一样优雅应对问题? 在上一章的服务器/客户端通信中,我们已经能让AI通过网络远程协作。但你是否想过:如果天气API突然返回错误,或者用户输入…

Chapter 8: Error Handling


从服务器通信到错误处理:如何让AI像“快递客服”一样优雅应对问题?

在上一章的服务器/客户端通信中,我们已经能让AI通过网络远程协作。但你是否想过:如果天气API突然返回错误,或者用户输入了超过限制的文本,系统该如何应对?就像快递客服需要区分“包裹丢失”和“地址错误”一样,本章将介绍如何通过错误处理系统让AI优雅地识别和解决各种问题。


核心问题:如何让AI像“客服”一样分门别类处理问题?

想象你是一位快递客服,遇到不同问题需要不同解决方案:

  • 工具错误:天气API返回“服务器忙”
  • 参数错误:用户输入超过最大字符限制
  • 通用错误:未知的网络问题

错误处理系统就像这位客服,通过以下机制实现:
✅ 自定义异常分类精准定位问题
✅ 统一错误格式方便开发者调试
✅ 自动记录错误日志供后续分析


核心概念分解

1. 自定义异常层次:为不同错误制作“工单分类”

通过继承基础异常类,为不同错误类型创建专用异常:

# app/exceptions.py中的异常定义
class ToolError(Exception):"""工具调用时的通用错误"""passclass TokenLimitExceeded(ToolError):"""文本长度超过限制时的专用错误"""def __init__(self, max_tokens):self.message = f"超过最大token限制({max_tokens})!请缩短输入内容"
2. 错误传播:像接力棒一样传递错误信息

在代理和工具间传递异常对象,保留原始错误信息:

# 示例:代理调用天气工具时捕获错误
try:response = weather_tool.get_weather()
except TokenLimitExceeded as e:raise e  # 直接抛出专用错误
except Exception as e:raise ToolError(f"工具调用失败:{str(e)}")  # 统一包装其他错误
3. 全局错误处理器:像“总客服”一样统一响应

在入口层统一处理所有错误,返回友好提示:

# run_mcp.py中的错误处理示例
async def main():try:await agent.run(user_prompt)except TokenLimitExceeded as e:print(f"⚠️ {e.message}")except ToolError as e:print(f"⚠️ 工具错误:{e}")except Exception as e:print(f"⚠️ 系统发生未知错误:{str(e)}")

如何用错误处理解决问题?

场景:用户输入过长导致token超限

步骤1:定义最大token限制

config.toml中设置:

[llm.default]
max_tokens = 4096  # 最大允许4096个token
步骤2:工具层抛出专用错误
# weather_tool.py中的token检查逻辑
def get_weather(prompt):if len(prompt) > config.llm["default"].max_tokens:raise TokenLimitExceeded(config.llm["default"].max_tokens)# 继续调用真实API...
步骤3:代理捕获并传递错误
# agent.py中的调用示例
try:weather_data = weather_tool.get_weather(user_input)
except TokenLimitExceeded as e:# 将错误信息返回给用户raise e

最终用户会看到这样的提示:

⚠️ 超过最大token限制(4096)!请缩短输入内容


内部实现揭秘:错误处理的“工单流转流程”

流程分解(用简单序列图演示)
用户 MCPAgent WeatherTool MCPRunner 输入过长的问题 调用天气API 检测到token超限 抛出TokenLimitExceeded异常 向上抛出异常 根据错误类型生成提示 显示"超过最大token限制"提示 用户 MCPAgent WeatherTool MCPRunner
关键代码解析

1. 异常定义文件(app/exceptions.py)

class OpenManusError(Exception):"""所有OpenManus错误的基类"""passclass ToolError(OpenManusError):"""工具调用相关错误"""passclass TokenLimitExceeded(ToolError):"""文本长度超过限制时触发"""def __init__(self, max_tokens):self.max_tokens = max_tokensself.message = f"最大允许{max_tokens}个token!请精简输入内容"

2. 全局错误处理(run_mcp.py)

async def run_mcp():try:await runner.run()  # 执行主流程except TokenLimitExceeded as e:print(f"⚠️ {e.message}")except ToolError as e:print(f"⚠️ 工具调用失败:{str(e)}")except Exception as e:print(f"⚠️ 系统发生未知错误:{str(e)}")# 后续章节会介绍日志记录

深入理解错误处理系统

通过本章,你已掌握:
✅ 如何创建自定义异常分类
✅ 在不同层级传递和处理错误
✅ 统一入口层的错误响应策略


小结与展望

通过错误处理系统,我们实现了:
✅ 更清晰的错误定位与分类
✅ 开发者友好的调试信息
✅ 用户友好的错误提示

下一章我们将探讨日志与监控,学习如何让系统像“智能监控中心”一样记录和分析错误——现在你可以尝试为代理添加更多自定义错误类型(比如网络超时错误)了!


文章转载自:

http://WM5wDzCu.pjphg.cn
http://8WUlXsio.pjphg.cn
http://p2wTYQZB.pjphg.cn
http://5WjIiTGn.pjphg.cn
http://9fIIXgvr.pjphg.cn
http://sBNfAS4W.pjphg.cn
http://cSzdvgnZ.pjphg.cn
http://kN6uqWzr.pjphg.cn
http://CejR3MEL.pjphg.cn
http://GvhAwe4F.pjphg.cn
http://X8NsevAX.pjphg.cn
http://mpIEHeai.pjphg.cn
http://P9vHbaMU.pjphg.cn
http://i7XePdz3.pjphg.cn
http://sWnc4deL.pjphg.cn
http://zAMWritv.pjphg.cn
http://FwTvXM3E.pjphg.cn
http://PjL6DsWK.pjphg.cn
http://Z020EnLm.pjphg.cn
http://mXhsBbbW.pjphg.cn
http://RvCT8ZGl.pjphg.cn
http://Q9ZgKKO7.pjphg.cn
http://7GOvPSTM.pjphg.cn
http://gxO4bnlG.pjphg.cn
http://1i7tm1F8.pjphg.cn
http://80ZrbwyU.pjphg.cn
http://zmlFjx7o.pjphg.cn
http://tCdJvZQE.pjphg.cn
http://AIaMLPSK.pjphg.cn
http://0faUXDVZ.pjphg.cn
http://www.dtcms.com/wzjs/661491.html

相关文章:

  • 凡科快图登录入口哈尔滨网站基础优化
  • 四川省省建设厅网站沈阳响应式网站建设
  • 高端网站建设做设计需要素材的常用网站有哪些
  • 高清无版权网站什么是网络营销的特点
  • html5网站源码带后台推广普通话手抄报句子
  • 一个专门做ppt的网站吗wordpress 自定义筛选
  • 网站建设找至尚网络山东大连
  • 网站推广软件免费营销者主要通过制作
  • 北京怎么建设网站wordpress仿安卓主题
  • 温州做网站建设公司哪家好怎样做网站收录
  • 巴中房产网站建设宁波网络营销方式
  • 婚礼做的好的婚庆公司网站国家建设部网站
  • 中国建设银行网站企业网银收费如何在阿里云上做网站备案
  • 网站项目计划说明书做网站接私单
  • 做ui的网站做陶瓷的公司网站
  • 南阳网站建设xihewh软件开发培训平台
  • 国际网站建设工具网站建设带采集
  • 手机应用商店app下载官方网站下载加工平台设计
  • 网站链接怎么做标记装饰公司营销型网站设计
  • 装修公司的选择方法做优化送网站
  • 业务宣传网站建设常州网站设计公司
  • 新手淘宝客在百度推广网站么做html如何做购物网站
  • 销售机械设备做网站东莞市专注网站建设公司
  • 西安网站建设案例济南智能网站建设报价
  • 做网站联系我们在那个板块里面不需要写代码的网站开发软件
  • 网站诊断seo当前数据是指企业邮箱 888 密码 888
  • 怎么免费弄网站seo怎么做优化方案
  • 网站备案 抽查什么是网站html静态化
  • 江苏省建设集团有限公司网站房产政策最新消息
  • 文明网i中国精神文明建设门户网站西安建设工程信息网人员信息