断言和先决条件是在运行时发生的检查。在执行任何进一步的代码之前,您可以使用它们来确保基本条件得到满足。如果断言或先决条件中的布尔条件计算为true,则代码执行将继续照常进行。如果条件计算为false,则程序的当前状态无效;代码执行结束,您的应用程序将被终止。
使用断言和先决条件并不能替代以不太可能出现无效条件的方式设计代码。然而,如果发生无效状态,使用它们来强制执行有效的数据和状态会导致您的应用程序更可预测地终止,并有助于使问题更容易调试。一旦检测到无效状态,立即停止执行也有助于限制该无效状态造成的损害。
断言和先决条件之间的区别在于它们被检查时:断言仅在调试构建中检查,但在调试和生产构建中都检查先决条件。在生产构建中,断言中的条件不会被评估。这意味着您可以在开发过程中使用任意数量的断言,而不会影响生产中的性能。
网友评论