知识卡片
错误处理要一致
内容
硬件访问、通信和状态转换都会失败,如果每个模块各自发明错误码和恢复方式,系统会难以诊断。发散:一致的错误处理库把失败变成可传播、可记录、可测试的工程对象,而不是散落的 if 分支。
参考来源
- 位置:《嵌入式系统设计与实践》第3章《检视硬件》"3.7.1 一致的方法"及"3.7.2 错误处理库"一节(源文件:_epub-src/OEBPS/text00040.html、text00041.html)
- 结论依据:原文明确"一个应用程序或者系统的错误返回代码应该在代码库上进行标准化。可以创建一个高层errorCodes.h文件……以枚举的格式提供一致的错误代码定义",并说明错误处理库应提供ErrorSet/ErrorGet/ErrorPrint/ErrorClear四个统一函数,避免每处调用各自发明错误处理方式。
- 原始内容:一个应用程序或者系统的错误返回代码应该在代码库上进行标准化。可以创建一个高层errorCodes.h文件(或类似的),以枚举的格式提供一致的错误代码定义……在这样的错误处理库中,将有四个函数这四个函数对应用程序有意义:ErrorSet、ErrorGet、ErrorPrint和ErrorClear。这个库应该设计得便于调试和测试。