← ClaudeAtlas

error-explain-zhlisted

粘贴任意语言的报错/堆栈/panic/exception,给中文根因分析与可操作修复建议。当用户说「帮我看这个报错/分析这个错误/这个 panic 是什么意思/帮我 debug」时触发。
YuAICode/ai-skills · ★ 1 · AI & Automation · score 74
Install: claude install-skill YuAICode/ai-skills
# error-explain-zh — 通用报错中文诊断 把任意语言的错误信息/堆栈/panic/exception 解读成"为什么报这个错 + 具体怎么改", 不用再对着英文错误文档反复猜。跨语言通用:Go / JavaScript / Python / Java / Rust / Flutter / Dart / Shell / … ## 何时触发 - 用户说"帮我看这个报错"、"这个错误是什么意思"、"这个 panic 怎么回事"、"帮我 debug" - 用户粘贴了错误日志、stack trace、panic 输出、exception 信息 - 用户贴了 stderr / logcat / Xcode 日志并问"为什么" > 与 `lambda-logs-zh` 的区别:`lambda-logs-zh` 专门处理 AWS CloudWatch 多条日志的聚类分析; > `error-explain-zh` 是**通用单次报错诊断**,不限运行时和平台。 ## 工作流 ### 1. 识别语言 / 运行时与错误类型 - 从错误格式、关键词、文件扩展名推断语言和运行时: - `goroutine` / `panic:` → Go - `Traceback (most recent call last)` → Python - `at Object.<anonymous>` / `UnhandledPromiseRejection` → Node.js/JavaScript - `Exception in thread "main"` / `at com.` → Java/Kotlin JVM - `thread 'main' panicked at` → Rust - `flutter: Error` / `DartError` / `══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK` → Flutter/Dart - `Caused by:` → Java 链式异常,需向内展开到最内层 - 识别错误**大类**:空指针 / 类型错误 / 连接失败 / 权限拒绝 / 断言失败 / OOM / 配置缺失 / 依赖冲突 / 并发竞争 等 - 若有多种错误混在一起,先按"最先触发的 / 最内层的"排序 ### 2. 定位最关键的那一行(真正根因常不在栈顶) - **栈跟踪逻辑**:从 `Caused by:`、最内层 `goroutine`、`caused by`、`Source error:` 等向内找真实根因帧 - **区分用户代码与库代码**: - 用户代码帧:文件路径不含 `node_modules/`、`site-packages/`、`GOROOT`、`vendor/`、`jdk/`、`android.jar` 等 - 优先指出**用户代码中的最近帧**——那通常是修复入口 - 若根因在库内部,说明是库的哪个调用/参数触发的 - 若错误信息里有**行号**,仅基于行号做分析;**没有源码时不臆断行号外的代码** ### 3. 中文讲清"为什么报这个错" 用白话解释这个错误的**直接触发机制**,例如: - "这行代码对 nil 指针做了方法调用,Go 运行时无法找到方法接收者" - "`ECONNREFUSED` 表示目标端口没有进程在监听,通常是服务未启动或端口配置错误" - "Python 在 `json.loads` 时遇到了非 UTF