hello-errors
Installation
SKILL.md
错误处理相关代码必须遵循以下规范。
编码前
先分类可预期错误 vs 不可预期错误,再写代码。
错误分类
- 可预期错误(验证失败、资源不存在)→ 正常处理,返回友好信息
- 不可预期错误(系统故障、第三方宕机)→ 记录日志,返回通用错误
- 不要用 try-catch 包裹所有代码——只捕获你能处理的
结构化错误
- 统一错误格式:
{ code, message, details? } - HTTP 状态码准确:4xx 客户端错误,5xx 服务端错误
- 不暴露内部实现细节(堆栈、SQL、文件路径)给用户
- 错误码可枚举,便于前端处理
日志规范
- 结构化日志(JSON),包含 timestamp、level、context
- 错误日志包含:堆栈、请求 ID、用户上下文
- 敏感信息脱敏后再记录(密码、token、身份证)
- 日志级别:error(必须处理)> warn(需关注)> info(正常流程)> debug(调试)
恢复策略
- 外部调用:超时 + 重试(指数退避,最多 3 次)
- 关键操作:幂等设计,支持安全重试
- 优雅降级:部分功能不可用时不影响核心流程
- 断路器:连续失败超过阈值时快速失败
交付检查
- 错误响应格式统一
- 不暴露内部细节给用户
- 外部调用有超时设置
- 敏感信息已脱敏
- 无静默失败:无空 catch 吞错误、无静默降级、无静默回退(见当前已加载 bootstrap 的“静默失败防护”规则)
Related skills
More from hellowind777/helloagents
helloagents
每次对话开始时使用 — 建立质量驱动工作流,通过技能标准、流程纪律和检查清单三重保障确保交付质量
43hello-ui
已进入显式 UI 工作流、已激活项目的视觉变更、设计系统改造或需要视觉验收时使用;在通用 UI 基线之上补充项目契约执行、设计系统映射与视觉验证。
1hello-api
构建、修改或审查 REST API、GraphQL 端点、webhook、中间件、请求/响应处理、API 版本管理、限流或分页时使用。
1hello-test
编写测试、创建测试文件、实现测试覆盖、使用 Jest/Vitest/Mocha/pytest 等测试框架,或实践 TDD、修复失败测试时使用。
1helloagents-meta
HelloAGENTS 技能系统规范
1hello-arch
重构代码、调整模块结构、管理依赖、拆分文件、提取组件、设计系统架构或做代码组织决策时使用。
1