Compartir a través de


Aserciones de MFC

Este tema se aplica a:

Edición

Visual Basic

C#

F#

C++

Web Developer

Express

El tema no es aplicable El tema no es aplicable El tema no es aplicable

Sólo para código nativo

El tema no es aplicable

Pro, Premium y Ultimate

El tema no es aplicable El tema no es aplicable El tema no es aplicable

Sólo para código nativo

El tema no es aplicable

MFC define la macro ASSERT para comprobar aserciones. Asimismo, define MFC ASSERT_VALID y CObject::AssertValid para comprobar el estado interno de un objeto derivado de CObject.

La macro ASSERT de MFC detiene la ejecución de un programa y alerta al usuario si el argumento (una expresión) se evalúa como cero o False. Si la expresión se evalúa como un valor distinto de cero, la ejecución continúa.

Cuando se produce un error de aserción, un cuadro de mensaje muestra el nombre del archivo de código fuente y el número de línea de la aserción. Si se elige Reintentar en el cuadro de diálogo, una llamada a AfxDebugBreak hace que la ejecución se interrumpa y se inicie el depurador. En ese punto, se puede examinar la pila de llamadas y otros servicios del depurador para determinar la causa del error de aserción. Si la depuración Just-In-Time está habilitada, el cuadro de diálogo puede iniciar el depurador, a menos que ya estuviera en ejecución cuando se produjo el error de aserción.

En el siguiente ejemplo se muestra cómo se utiliza ASSERT para comprobar el valor devuelto por una función:

int x = SomeFunc(y);
ASSERT(x >= 0);   //  Assertion fails if x is negative

Se puede utilizar ASSERT con la función IsKindOf para proporcionar la comprobación de tipos de los argumentos de una función:

ASSERT( pObject1->IsKindOf( RUNTIME_CLASS( CPerson ) ) );

La macro ASSERT captura errores de programa sólo en la versión de depuración del programa. La macro no produce código en la versión de lanzamiento. Si necesita evaluar la expresión en la versión de lanzamiento, utilice la macro VERIFY en vez de ASSERT.

Vea también

Conceptos

Aserciones