三、广播遥控
第12课 消息发送的异常处理

一、任务目标
理解坏包不要崩,能说出体验没有点阵 成功提示。
二、我们要学什么
- 学习要点:无线 JSON 可能坏掉,解析要包异常
- 本课过关:能指出体验 except 只 print(e);完整代码序号相符才显示 成功提示。
- 示例对齐:体验题对应 「3-4-1 消息发送的异常处理」;完整代码对应 「3-4-2 带反馈消息发送」。
三、本节要点
体验 3-4-1 已有回执逻辑,但没有用序号比对亮 成功提示。点阵反馈是 3-4-2。
1读场景明确真实任务
2对要点先接住坏包,再对序号
3载入运行兴趣课程积木/代码
四、解题思路
- 输入:一号按键发送;无线收到的字符串。
- 输出:体验:打印序号或异常;完整代码:成功提示与等待符号。
- 生活对照:快递单扫不出来要报错,不能让程序崩。
- 验证现象:正常包打印序号;完整代码对上号才显示成功提示。
本课主要用到:无线广播、数据包、错误捕获;完整代码另用点阵。
- 1明确任务「消息发送的异常处理」:收包要能拆开,拆不开也别崩。
- 2收到消息时尝试拆包并处理;出错则串口打印异常说明。
- 3完整代码:序号对上才在点阵显示成功提示。
- 4发送当下可先在点阵显示等待符号,提示「已发出、等回执」。
- 5载入后用正常包与异常包对照打印与点阵提示。
流程示意(可对照左侧文字)
五、图形块功能讲解
下面只列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。
| 图形块 | 分类 | 作用 | 本课用法 |
|---|---|---|---|
![]() | 控制 | 捕获运行错误并保证收尾代码执行。 | 体验:recv 里 尝试捕获错误: 包住 JSON。 |
六、知识点讲解
坏包不要崩。再往上才是「这条回执对不对得上我刚发的序号」。尝试捕获错误::loads 失败就打印异常,回调结束。序号核对:完整代码 dictcmd['序号'] == mydict['序号'] 才 成功提示。发送反馈:刚发出去时点阵显示 =,表示「已送出、等回执」。
对照与过关:能说出体验没有点阵 成功提示。先看异常是否被打印,再看完整代码的 成功提示。
七、编程练习
点「载入」打开 MixVM(board=mini_design)。默认图形化积木;起步程序与积木均来自 MixGo MINI 兴趣课程/学期3。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。
兴趣课程:3-4-1 消息发送的异常处理.mix。载入后运行。
正在载入编程环境
正在载入 MixGo MINI 仿真编程环境…
八、课堂练习
先完成两道判断题,再完成选择题;全部选定后点「检查」。
判断:体验题解析失败会让整个程序停止。
判断:完整代码只有回执序号等于自己当前序号才显示 成功提示。
完整代码按 1号按键 发送当下点阵显示?
体验对 JSON 解析放在?
九、本节小结
本课主题是解析异常:无线消息可能坏掉,解析要包在异常处理里。体验程序解析失败时打印出错信息;完整程序序号相符才显示成功提示。
