结果检查

更新:2007 年 11 月

本主题适用于:

版本

Visual Basic

C#

C++

Web Developer

速成版

主题不适用 主题不适用

仅限本机

主题不适用

标准版

主题不适用 主题不适用

仅限本机

主题不适用

专业团队版

主题不适用 主题不适用

仅限本机

主题不适用

表格图例:

主题适用

适用

主题不适用

不适用

主题适用,但命令默认情况下隐藏

默认情况下隐藏的一条或多条命令。

可以使用断言语句检查操作的结果。断言对于测试快速直观检查时结果不明显的操作最有价值。

例如,研究一下以下代码,这段代码根据 mols 所指向的链接列表的内容来更新 iMols 变量:

/* This code assumes that type has overloaded the != operator
 with const char * 
In addition, it also assumes that H2O is somewhere in that linked list. 
Otherwise we'll get an access violation... */
while (mols->type != "H2O")
{
 iMols += mols->num;
 mols = mols->next;
}
ASSERT(iMols<=numMols); // MFC version
_ASSERT(iMols<=numMols); // CRT version

由 iMols 计数的分子数必须始终小于或等于分子总数 numMols。对循环的直观检查并不说明这一定为真,因此在循环后使用一条断言语句来测试该条件。

请参见

概念

捕捉逻辑错误

断言