Comprobación de resultados
Este tema se aplica a:
Edición |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Sólo para código nativo |
||||
Pro, Premium y Ultimate |
Sólo para código nativo |
Las instrucciones de aserción se pueden utilizar también para comprobar el resultado de una operación. Las aserciones son muy valiosas para probar operaciones cuyos resultados no son obvios con una simple inspección visual.
Por ejemplo, considere el siguiente código, que actualiza la variable iMols según el contenido de la lista vinculada a la que apunta mols:
/* 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
El número de moléculas contadas por iMols debe ser siempre menor o igual que el número total de moléculas, numMols. La inspección visual del bucle no muestra que éste sea necesariamente el caso, por lo que se utiliza una instrucción de aserción después del bucle para probar esa condición.