单元五

第18课 高级无线通讯-消息发送的异常处理

任务场景:高级无线通讯-消息发送的异常处理
任务场景:高级无线通讯-消息发送的异常处理

一、任务目标

用异常处理兜住坏消息,正常就打印序号,出错串口打出原因。

二、我们要学什么

  • 学习要点:异常处理|解析失败就打印错误,程序继续
  • 本课过关:能完成:说出异常处理就是把可能失败的解析放进尝试执行,失败就打印错误、程序继续;载入编程体验,指出回调里用尝试执行包住 JSON 转字典,失败打印错误,成功则打印序号并回显;再运行完整程序,指出同样用尝试执行包住解析,失败路径只打印错误。
  • 示例对齐:编程体验对应 5-4 高级无线通讯-消息发送的异常处理.mix;完整程序对应 5-4 高级无线通讯-消息发送的异常处理.mix。

三、本节要点

本课要利用无线消息认识异常处理:收到的内容未必能转成字典,失败时打印错误而不是停住。两套程序步骤一致:尝试执行包住解析与回显。要点对齐「异常处理|解析失败就打印错误,程序继续」。

1读场景收到坏消息也不能卡住,要报出原因
2对要点异常处理|解析失败就打印错误,程序继续
3载入运行十学期兴趣课程积木/代码

四、解题思路

任务:利用无线消息,用两套程序认识异常处理——回调里用尝试执行包住 JSON 转字典。成功则打印序号并回显;失败则打印错误。两套步骤一致,请对照正常序号和失败时的错误输出。

本课主要用到:两块主板(同一频道);按键 B1;串口。

  1. 1利用无线消息,观察解析失败时程序会不会停住。
  2. 2仍用列表登记接收函数。
  3. 3回调里用尝试执行包住:转字典、打印序号、按需要回显。
  4. 4失败分支打印错误。按 B1 发出带序号字典,对照正常打印。
  5. 5完成补全与从头编写,并对照现象。

流程示意

列表登记回调尝试执行包住解析成功则打印并回显失败则打印错误按B1正常发送完成补全与从头编写并对照现象

五、图形块功能讲解

下面列出本课首次出现的 Mixly 图形块(真积木截图)。已在前面课讲过的不再重复;先认新块,再点「载入」对照拖搭。

图形块分类作用本课用法
尝试执行
控制尝试执行可能出错的代码,出现异常时交给异常处理分支。两套都在接收回调里包住 JSON 转字典和回显;失败就打印错误。

六、知识点讲解

异常处理把可能失败的步骤放进尝试执行。JSON 转不成字典时打印错误,接收函数结束,主循环仍在。

先弄清:失败要有退路,不能让一次坏消息停住收发;再进编程练习对照打印。

七、编程练习

点「载入」打开 MixVM(board=sant_design)。默认图形化积木;起步程序与积木均来自 MixGo SANT 十学期兴趣课程/学期3。若题目带外设 design,载入时会自动导入接线。在 Mixly 工具栏点「运行 / 停止」,「检查」做关键字核对。请先读本页「四、解题思路」与「五、图形块功能讲解」,再点载入。

十学期兴趣课程:5-4 高级无线通讯-消息发送的异常处理.mix。载入后运行。

八、课堂练习

先完成两道正误判断,再做其余题目;选出后点「检查」。

  1. 判断:编程体验收到无法转成字典的内容时,程序会立刻整体停住。

  2. 判断:完整程序在回调里用尝试执行包住解析,失败就打印错误。

  3. 本课说的「异常处理」指的是?

  4. 编程体验和完整程序的主要差别是?

  5. 运行编程体验,收到格式正确的带序号 JSON 时,应?

九、本节小结

本课认识异常处理:解析失败就打印错误,程序继续。编程体验和完整程序都在回调里用尝试执行包住 JSON 转字典;成功则打印序号并回显。