第7课:报错不可怕
学会判断报错出现在哪里,把现象和错误信息清楚交给 Codex。
本课目标
第 6 课,你第一次尝试把小工具跑起来。
第 7 课处理几乎一定会发生的事情:报错。
报错不是失败。
报错只是电脑告诉你:
这里有一步没走通。
你不需要立刻看懂所有错误,也不需要自己修所有代码。
你现在最需要学会的是:错误出现在哪里、你做了什么、你期待什么、实际发生什么、错误信息是什么,然后把这些信息清楚交给 Codex。
本课结束时,你要完成一张报错描述卡。
开始之前
你可能已经遇到过这些情况:
页面打不开。
终端出现一大串红字。
按钮点了没反应。
AI 生成失败。
安装依赖失败。
Codex 改完以后原来的功能不见了。
新手最常见的反应是:
完了,不行了。
要不要重来?
要不要让 AI 全部重写?
先不要重来,也不要让 AI 全部重写。
你要先学会做一件事:
把错误说清楚。
错误说清楚了,AI 才更容易帮你修。
错误说不清楚,AI 可能会乱猜,然后越改越乱。
一个小故事
小林做了一个“小红书标题助手”。
他运行项目后,浏览器页面打不开。终端里出现很多红字。
他第一反应是发给 Codex:
不行了,帮我修一下。
Codex 只能猜。
老师让他换一种说法:
我刚才运行项目时出现错误。
我做了什么:在终端运行 npm run dev。
我期待发生什么:项目启动,并给我一个 localhost 地址。
实际发生什么:终端出现红色错误,项目没有启动。
错误信息如下:
(粘贴完整错误)
请你先判断这是终端运行问题、依赖问题、代码语法问题还是配置问题。
不要一次性大改。请先告诉我最可能的原因和最小修复步骤。
这一次,Codex 就更容易定位问题。
报错处理的第一步不是“会修”,而是“会说清楚”。
常见报错出现在哪里
1. 浏览器页面报错
你在浏览器里看到:
- 白屏。
- 页面显示错误文字。
- 按钮点了没反应。
- 结果区不更新。
- 控制台有红色错误。
一句话记住:
浏览器报错 = 用户看到或操作的页面出问题
2. 终端运行报错
你在终端里看到:
- 命令运行失败。
- 一大串红字。
- 项目启动不了。
- 没有出现 localhost 地址。
一句话记住:
终端报错 = 项目启动或运行过程出问题
3. 安装依赖报错
你在安装或启动时看到:
- package not found。
- module not found。
- dependency error。
- 版本冲突。
一句话记住:
依赖报错 = 项目需要的工具包没有装好或版本不对
你不需要马上懂“依赖”是什么。
先理解成:项目需要的一些零件没准备好。
4. 接口或 AI 请求报错
页面能打开,但点击生成时失败。
常见表现:
- 生成按钮转了一会儿,然后失败。
- 提示 API Key 错误。
- 提示请求失败。
- 提示 401、403、404、500。
- AI 没有返回结果。
一句话记住:
接口或 AI 请求报错 = 页面和后端/AI 沟通失败
5. 逻辑问题
页面没有明显报错,但结果不对。
比如:
- 按钮能点,但输出为空。
- 输入 A,却输出 B。
- 结果区一直显示旧内容。
- 复制按钮复制错内容。
一句话记住:
逻辑问题 = 页面能运行,但动作规则不符合预期
6. AI 改坏了文件
有时 Codex 修改后,原本能用的地方坏了。
比如:
- 原来的按钮没了。
- 页面样式乱了。
- 之前能运行,现在不能运行。
- AI 加了太多不需要的功能。
一句话记住:
改坏文件 = 修改范围失控或影响了原有功能
这时不要急着继续加功能,先要求 AI 回顾它刚才改了哪些文件。
报错描述公式
你以后遇到错误,就用这个公式:
我做了什么 -> 我期待发生什么 -> 实际发生什么 -> 错误信息是什么 -> 请 AI 先定位原因
完整模板:
我做了什么:
我期待发生什么:
实际发生什么:
错误出现在哪里:
浏览器 / 终端 / 安装依赖 / 接口请求 / AI 请求 / 逻辑结果 / 不确定
错误信息全文:
请你先判断可能原因。
不要一次性大改。
请给我最小修复步骤。
注意“错误信息全文”。
不要只截一半,不要只说“红字很多”。
能复制就复制,不能复制就截图或尽量完整描述。
不要这样修错
| 错误做法 | 问题 |
|---|---|
| 不行了,帮我修 | AI 不知道哪里不行 |
| 你重新写一遍吧 | 可能把原来能用的部分也改坏 |
| 继续加功能,顺便修一下 | 修错和加功能混在一起,很容易更乱 |
| 只复制最后一行错误 | 最后一行不一定包含真正原因 |
应该这样修错
| 正确做法 | 对 AI 说什么 |
|---|---|
| 先定位 | 请你先判断错误属于哪一类,不要马上改代码 |
| 最小修复 | 请只修这个错误,不要重构,不要加新功能 |
| 说明改动 | 修复前请告诉我你准备改哪些文件,为什么 |
| 修完验收 | 修完后请告诉我如何重新运行,以及我应该检查什么 |
课堂练习:判断错误类型
请判断下面情况属于哪类错误。
可选项:
浏览器页面报错 / 终端运行报错 / 依赖报错 / 接口或 AI 请求报错 / 逻辑问题 / 改坏文件
| 情况 | 错误类型 |
|---|---|
| 运行命令后终端出现红字,项目没有启动 | |
| 页面能打开,但点击生成按钮没有任何反应 | |
| 点击生成后提示 API Key missing | |
| 输入工作记录后,输出还是旧内容 | |
| Codex 改完后原来的输入框不见了 | |
| 安装时提示 module not found | |
| 页面白屏,只显示错误信息 |
自己动手:报错描述卡
请用你自己的项目练习。
如果现在没有报错,也可以用老师提供的示例错误练习。
| 项目 | 我的记录 |
|---|---|
| 我的项目名称 | |
| 我做了什么 | |
| 我期待发生什么 | |
| 实际发生什么 | |
| 错误出现在哪里 | 浏览器 / 终端 / 安装依赖 / 接口请求 / AI 请求 / 逻辑结果 / 不确定 |
| 错误信息全文 | |
| 我猜可能是哪类问题 | |
| 我希望 Codex 先做什么 | 定位原因 / 给最小修复步骤 / 解释错误 / 检查刚才改动 |
给 AI 的一句话
这是本课最重要的修错提示词。
我刚才按照你的步骤运行项目,但出现了错误。
我做了什么:
我期待发生什么:
实际发生什么:
错误出现在哪里:
浏览器 / 终端 / 安装依赖 / 接口请求 / AI 请求 / 逻辑结果 / 不确定
错误信息全文如下:
请你先做 4 件事:
1. 判断这个错误最可能属于哪一类。
2. 用大白话解释可能原因。
3. 给出最小修复步骤。
4. 告诉我修完后如何重新运行和验收。
请不要一次性大改。
请不要加入新功能。
请不要重写整个项目。
如果你需要修改代码,请先说明要改哪些文件和为什么。
如果 AI 修错越修越乱
有时 AI 会越修越乱。
这时你要暂停加功能,换成“回顾模式”:
刚才连续修改后,项目变得更乱了。
请先不要继续改代码。
请回顾最近一次修改:
1. 你改了哪些文件。
2. 每个文件为什么改。
3. 哪个改动最可能导致当前问题。
4. 是否可以用最小改动恢复到上一个可运行状态。
请先分析,不要直接重写。
这不是让你做复杂版本控制。
这是让 AI 停下来,不要继续扩大改动。
本课小结
今天你要记住:
- 报错是软件开发的一部分。
- 新手不需要看懂所有错误,但要会完整描述错误。
- 错误大概可以分为页面、终端、依赖、接口/AI 请求、逻辑、改坏文件。
- 不要只说“不行了”。
- 不要一上来让 AI 重写。
- 修错时不要顺便加功能。
- 让 Codex 先定位,再给最小修复步骤。
课后任务
找一个你项目里遇到过的问题,完成报错描述卡。
如果你还没有遇到报错,可以用下面这个模拟情况:
我运行 npm run dev 后,终端出现红色错误,页面没有打开。
请填写:
| 问题 | 我的答案 |
|---|---|
| 我做了什么 | |
| 我期待发生什么 | |
| 实际发生什么 | |
| 错误出现在哪里 | |
| 我会发给 Codex 的完整提示词 |
本课最低标准
你能说出:
报错不是失败,是信息。
修错时先描述清楚,再让 AI 定位,不要直接重写。
并且你完成了一张报错描述卡。