SuperAPI AI 工具集

error-handling-patterns

通用与其它

查看项目

更新于 10-16 03:13

技能介绍

本技能用于在开发中系统化地设计错误处理:在新功能中实现错误处理、设计抗错 API、排查生产问题、提升可靠性、优化错误提示、实现重试与断路器、处理异步/并发错误,以及构建容错的分布式系统。

主要内容包括两类概念。其一是错误处理哲学:异常(传统 try-catch,打断控制流)、Result 类型(显式成功/失败,函数式)、错误码(C 风格,需纪律)、Option/Maybe(可空值)。使用建议为:异常用于意外错误与异常情况,Result 类型用于预期错误与校验失败,panic/崩溃用于不可恢复错误和程序缺陷。其二是错误分类:可恢复错误(网络超时、文件缺失、非法输入、API 限流)与不可恢复错误(内存耗尽、栈溢出、程序缺陷)。

按语言给出模式:Python 覆盖自定义异常层级、contextmanager 资源清理、指数退避重试装饰器;TypeScript/JavaScript 覆盖自定义错误类、Result 类型及链式处理、async/await 与 Promise 错误处理;Rust 覆盖 Result/Option、? 运算符、自定义错误枚举与 From 转换;Go 覆盖显式 error 返回、%w 包装、errors.Is/errors.As、哨兵错误。

通用模式有三种:断路器(CLOSED/OPEN/HALF_OPEN 状态防级联失败)、错误聚合(ErrorCollector 与 AggregateError 一次收集多个错误)、优雅降级(with_fallback 与多级备用)。

最佳实践与常见陷阱:尽早失败、保留上下文与堆栈、消息有意义、按级别合理记录日志、在能处理的层级捕获、用 try-finally/上下文管理器/defer 清理资源、不要吞掉错误、尽量使用类型化错误;避免过宽捕获、空 catch、重复记录、忘记清理、无意义消息、返回错误码、忽略异步错误。

限制与用法:资料未提供该技能的具体安装命令、调用方式、依赖或收费信息,暂未提供。