测试错误条件

本主题适用于:

版本

Visual Basic

C#

F#

C++

Web Developer

学习版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

专业版、高级专业版和旗舰版

主题不适用 主题不适用 主题不适用

仅限本机

主题不适用

可以使用断言在代码中应已处理了所有错误的点处测试错误条件。 在下面的示例中,一个图形例程将返回错误代码,或返回零表示成功。

myErr = myGraphRoutine(a, b);

/* Code to handle errors and
   reset myErr if successful */

ASSERT(!myErr); -- MFC version
_ASSERT(!myErr); -- CRT version

如果错误处理代码工作正确,在到达断言之前应已处理错误并将 myErr 重置为零。 如果 myErr 具有其他值,则断言失败,程序暂停,并且显示 “断言失败”对话框

但是断言语句不是错误处理代码的替代物。 下面的示例显示会在最终发布代码中导致问题的断言语句:

myErr = myGraphRoutine(a, b);

/* No Code to handle errors */

ASSERT(!myErr); // Don't do this!
_ASSERT(!myErr); // Don't do this, either!

这段代码依赖断言语句来处理错误条件。 结果,myGraphRoutine 返回的所有错误代码都未在最终发布代码中予以处理。

请参见

概念

结果检查

捕捉逻辑错误

断言