# 错误处理与降级策略 ## 设计理念 > 任何错误都不应中断用户的创造流程。降级,不中断。 ## 错误分类与降级矩阵 ### 类型 A:环境缺失 | 错误场景 | 检测方式 | 降级策略 | 告知用户 | |----------|---------|---------|---------| | Python 3 不可用 | `python3 --version` 失败 | 跳过 gacha.py,从 10 类预设方向中随机选择 | "抽卡引擎需要 Python 3,已改用内置随机选择" | ### 类型 B:可选依赖不可用 | 错误场景 | 检测方式 | 降级策略 | 告知用户 | |----------|---------|---------|---------| | 生图 skill 未安装 | 检查 skill 是否存在 | 输出完整提示词文本 + 手动生图平台说明 | "未检测到可用的生图 skill,已输出提示词供手动使用" | | 生图 skill 调用失败 | skill 返回错误 | 重试 1 次,仍失败则输出提示词文本 | "生图失败,已输出提示词供手动使用" | ### 类型 C:运行时异常 | 错误场景 | 降级策略 | 告知用户 | |----------|---------|---------| | gacha.py 输出格式异常 | 从 10 类预设方向中随机选择 | "抽卡结果解析失败,已改用内置随机" | | 任何未预期错误 | 记录错误信息,跳过该步骤,继续主流程 | "遇到了一个问题:[错误简述]。已跳过继续" | ## 错误信息统一格式 ```markdown > [警告] **[步骤名] 已降级** > 原因:[发生了什么] > 影响:[什么功能受限] > 替代:[正在用什么兜底] > 修复:[怎么恢复完整功能] ``` 示例: ```markdown > [警告] **头像生成已降级** > 原因:未检测到可用的生图 skill > 影响:无法自动生成头像图片 > 替代:已输出完整提示词,可复制到 Gemini / ChatGPT 手动生成 > 修复:在当前环境中安装并启用经过审核的生图 skill ``` ## 关键原则 1. **文本方案是核心价值,头像是锦上添花**——辅助功能失败永不中断主流程 2. **降级信息要可操作**——不只说"出错了",要说"怎么修" 3. **一次降级不影响后续步骤**——Step 5 降级了,Step 6 照常输出