Appearance
第 6 课:调试和错误处理
📌 学习目标:学会让 Claude Code 帮你找出和修复代码问题 ⏱️ 预计时长:15 分钟 🎯 本节节奏:理解报错 → 描述问题 → 修复验证
一、为什么代码总会出错?
即使是专业的程序员,写代码也会出错。原因包括:
- 语法写错了(少了一个括号、拼错了一个词)
- 逻辑不对(条件判断写反了)
- 路径不对(文件找不到)
- 数据格式不对(期望是数字,实际是文字)
好消息是:Claude Code 擅长找错和修错。 你不需要懂编程,只需要知道"哪里不对"。
二、错误分类:怎么描述问题
类型 1:运行时报错
程序跑起来了,但中途报错停止。
错误信息示例:
FileNotFoundError: [Errno 2] No such file or directory: 'E:/data/sales.csv'TypeError: can't multiply sequence by non-int of type 'float'KeyError: 'name'你怎么描述:
脚本运行时报错:FileNotFoundError
说找不到 E:/data/sales.csv 文件这个脚本报错了:TypeError,说不能把字符串和数字相乘
帮我看看哪里出了问题类型 2:结果不对
程序跑完了,但结果不是你想要的。
你怎么描述:
脚本运行成功了,但输出的销售额是 0,
我期望它应该输出实际的销售额总和生成的报告格式不对,
我希望每一行是一个产品,但现在所有数据挤在一行类型 3:性能问题
程序能跑,但太慢了。
你怎么描述:
这个脚本处理 1000 条数据要 30 秒,
有没有办法让它更快?三、调试技巧
技巧 1:直接粘贴错误信息
Claude 能读懂大部分编程错误。直接复制粘贴:
这个脚本报错了,错误信息是:
Traceback (most recent call last):
File "script.py", line 10, in <module>
result = data['total']
KeyError: 'total'
请帮我修复技巧 2:描述预期和实际的差异
我期望输出:每个产品的总销售额
实际输出:所有产品的数量总和
请帮我找出问题技巧 3:让 Claude 加调试信息
在这个脚本的关键位置加上 print 语句,
帮我看看程序运行到哪一步出错的技巧 4:逐步排查
如果问题复杂,可以让 Claude 一步步检查:
请先帮我检查这个脚本的语法是否正确,
如果有问题指出来然后:
语法没问题,但运行结果不对,
让我告诉你哪里不对...四、实战示例
示例 1:文件路径错误
报错:
FileNotFoundError: [Errno 2] No such file or directory: 'E:/data/sales.csv'描述:
脚本运行时报错找不到 E:/data/sales.csv
请检查路径是否正确,
实际文件在 E:/data/2026/sales.csvClaude 会:
- 修改文件路径
- 确认修改后的路径存在
- 重新运行脚本验证
示例 2:数据类型错误
报错:
TypeError: unsupported operand type(s) for *: 'str' and 'int'描述:
脚本在处理销售数据时报错,
说不能把字符串和整数相乘
我怀疑是 CSV 里的数字被读成了文字
请帮我修复Claude 会:
- 检查数据类型转换
- 加上 int() 或 float() 转换
- 验证修复后能正常运行
示例 3:逻辑错误
现象:
脚本运行没报错,但输出的结果是 0
我期望的是销售额总和Claude 会:
- 检查计算逻辑
- 发现可能是变量名写错了
- 修复并验证
五、预防错误的技巧
5.1 让 Claude 加错误处理
请给这个脚本加上错误处理,
如果文件不存在或数据格式不对,
不要报错停止,而是输出友好的提示信息5.2 让 Claude 做代码审查
请帮我检查这段代码,
看看有没有潜在的 bug 或可以改进的地方5.3 让 Claude 加日志
在关键步骤加上日志输出,
这样运行时我可以知道程序走到了哪一步六、本节小结
| 要点 | 说明 |
|---|---|
| 错误很正常 | 每个人写代码都会出错,包括专业程序员 |
| 描述问题 | 告诉 Claude 报了什么错、期望什么结果 |
| 粘贴错误信息 | Claude 能读懂大部分编程错误 |
| 迭代修复 | 修了一个问题可能还有下一个,继续说 |
| 预防为主 | 让 Claude 加错误处理和日志,减少未来的问题 |