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

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