Day 4: 修 Bug
遇到错误不要慌,Claude 是最好的调试助手。
直接贴错误信息
前端错误
你:遇到这个错误:
TypeError: Cannot read property 'name' of undefined
at UserProfile.jsx:15:8
at render
Claude 会立刻告诉你:
- 错误原因
- 出错位置
- 修复方案
后端错误
你:API 报错:
Error: connect ECONNREFUSED 127.0.0.1:3306
at Connection.connect
Claude 会分析:
- 数据库连接问题
- 可能的原因
- 逐步排查方法
构建错误
你:npm run build 失败:
Module not found: Error: Can't resolve './components/Button'
Claude 会检查:
- 文件路径问题
- 导入导出问题
- 修复建议
描述问题现象
功能不正常
你:用户登录后,页面显示的还是登录按钮,没有显示用户名
性能问题
你:页面加载很慢,首屏要等 5 秒才显示
样式问题
你:在手机上看,按钮跑到屏幕外面了
逐步排查
第1步:定位问题
你:帮我分析一下这个错误是什么原因
Claude:从错误信息看,可能是以下几个原因...
第2步:验证猜测
你:检查一下 user.name 是否存在
Claude:我来检查一下数据结构...
第3步:修复问题
你:知道问题了,帮我修一下
Claude:我来修复这个问题...
常见错误速查
错误类型 | 典型表现 | 快速修复 |
---|---|---|
变量未定义 | ReferenceError: xxx is not defined | 检查变量名拼写,导入语句 |
属性不存在 | Cannot read property of undefined | 添加空值检查 |
异步问题 | Promise rejected | 添加 try-catch,检查 await |
路径错误 | Module not found | 检查文件路径,相对/绝对路径 |
网络问题 | CORS error , Failed to fetch | 检查代理设置,API 地址 |
实战技巧
1. 提供完整信息
✅ 好的报错方式:
- 完整错误信息
- 出错的具体操作
- 相关代码片段
- 技术栈环境
❌ 不好的报错方式:
- "出错了"
- "不能用"
- "有问题"
2. 复现步骤
你:用户点击提交按钮时出错,步骤是:
1. 填写表单
2. 点击提交
3. 页面白屏,控制台报错:...
3. 环境信息
你:开发环境正常,生产环境出错
Node.js 16.14.0
React 18.2.0
错误信息:...
预防性调试
添加日志
你:在关键位置添加 console.log,帮我调试数据流
参数校验
你:给这个函数添加参数类型检查
错误边界
你:给组件添加错误处理,避免整个应用崩溃
性能问题调试
找瓶颈
你:页面很卡,帮我分析性能瓶颈
网络问题
你:接口响应慢,帮我优化一下
内存泄漏
你:页面用久了越来越卡,可能有内存泄漏
调试心态:bug 是正常的,每个程序员都会遇到。Claude 能快速帮你找到问题,不用自己瞎猜。
第四天完成! 你已经学会用 Claude 快速定位和修复 bug 了。明天学习开发新功能。
下一步
Day 5: 写功能 - 从需求到代码的完整流程
练习建议:
- 故意制造几个错误,让 Claude 帮你修
- 试试不同类型的错误:语法、逻辑、网络
- 学会看 Chrome 开发者工具的错误信息