实时框架概念:从错误处理到软件追踪的全面解析
1. 错误与异常条件的区分
在软件开发中,准确区分错误(error)和异常条件(exceptional condition)至关重要。错误通常是由设计或实现错误导致的持久缺陷,例如数组越界或空指针解引用。而异常条件则是系统生命周期中可能合法出现,但相对罕见且偏离软件主执行路径的特定情况。
错误处理的首要任务是尽早检测到错误。如果将错误当作异常条件处理,不仅会增加失控程序造成损害的风险,还可能使代码变得复杂,甚至引入新的错误。而断言(assertions)可以将许多情况标记为错误,从而简化软件。通过依赖框架策略执行的断言,应用程序代码可以避免检查和处理框架返回的错误代码,从而变得更加简单。
断言还可以为现代静态源代码分析工具提供重要信息,帮助测试代码的正确性。
2. C 和 C++ 中的可定制断言
在 C 和 C++ 中,可以使用可定制的断言。下面是一个简单的 qassert.h 头文件示例:
#ifdef Q_NASSERT
/* Q_NASSERT defined–assertion checking disabled */
#define Q_DEFINE_THIS_FILE
#define Q_DEFINE_THIS_MODULE(name_)
#define Q_ASSERT(test_)
((void)0)
#define Q_ALLEGE(test_)
((void)(test_))
#define Q_ERROR()
((void)0)
#else
/* Q_NASSERT n
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



