ESP32 官方文档(四)错误处理

ESP32 的错误处理对于开发稳健的应用至关重要,包括可恢复错误如函数返回值和C++异常,以及不可恢复的错误如断言失败和CPU异常。本文档介绍了错误代码、如何将错误代码转换为错误消息、错误处理模式,以及C++异常处理。错误代码在不同的ESP-IDF头文件中定义,可以通过宏或函数转换成易于理解的消息。

错误处理

概述

识别和处理运行时错误对于开发健壮的应用程序非常重要. ESP-IDF 中可能存在多种运行时错误:

  • 可恢复的错误:
    • 函数通过返回值表示的错误(错误代码)
    • 使用 throw 关键字抛出的 C++ 异常
  • 不可恢复(严重)错误:
    • 断言失败(使用断言宏和等效方法)和 abort() 调用.
    • CPU 异常:access to protected regions of memory, illegal instruction(访问受保护的内存区域,非法指令)等.
    • 系统级别检查:watchdog timeout, cache access error, stack overflow, stack smashing, heap corruption(监视程序超时,缓存访问错误,堆栈溢出,堆栈粉碎,堆损坏)等.

本指南介绍了与可恢复错误相关的 ESP-IDF 错误处理机制,并提供了一些常见的错误处理模式.

有关诊断不可恢复错误的说明,请参阅错误.

错误代码

大多数特定的 ESP-IDF 函数使用 esp_err_t 类型来返回错误代码. esp_err_t 是带符号的整数类型. ESP_OK 代码表示成功(无错误),定义为零.

各种 ESP-IDF 头文件使用预处理器定义来定义可能的错误代码. 通常这些定义以 ESP_ERR_ 前缀开头. 通用错

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值