错误处理(基于ESP-IDF)

主要参考资料
B站Up主孤独的二进制《错误处理 - 乐鑫 ESP32 物联网开发框架 ESP-IDF 开发入门》
ESP-IDF编程指南>API指南>错误消息: https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32s3/api-guides/error-handling.html
ESP-IDF编程指南>API指南>严重错误: https://docs.espressif.com/projects/esp-idf/zh_CN/v5.1/esp32s3/api-guides/fatal-errors.html

目录

  • 概述
  • 可恢复错误
  • 不可恢复错误

概述

错误处理(基于ESP-IDF)_第1张图片

可恢复错误

上面有说,比如错误码就是ESP-IDF里的esp_err_t类型,使用 if 判断可以打印出来。
错误处理(基于ESP-IDF)_第2张图片
当然,错误码看起来不直观,ESP-IDF还提供了API可以转换为具体的错误消息,它在esp_err.c中有定义。

在这里插入图片描述

不可恢复错误

不可恢复错误的第二类和第三类属于底层代码,一般不需要我们动,它会自己重启处理。
对于可恢复错误里的错误码,可以使用断言(assert)处理,只是在ESP-IDF中有专有的断言API。

有如下几种:
错误处理(基于ESP-IDF)_第3张图片

以ESP_ERROR_CHECK为例,非ESP_OK就会导致重启和打印。
在这里插入图片描述

打印信息如下:
错误处理(基于ESP-IDF)_第4张图片

另一个在ESP-IDF源码中比较常见的是goto语句
错误处理(基于ESP-IDF)_第5张图片

你可能感兴趣的:(嵌入式软件,struts,java,后端)