Controllo dei risultati
Le informazioni contenute in questo argomento sono valide per:
Edizione |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Solo nativo |
||||
Pro, Premium e Ultimate |
Solo nativo |
È possibile utilizzare istruzioni di asserzione per controllare il risultato di un'operazione. Le asserzioni sono particolarmente preziose per il controllo delle operazioni i cui risultati non sono ovvi a un semplice e rapido esame visivo.
Si consideri ad esempio il codice che segue, che aggiorna la variabile iMols sulla base del contenuto della lista collegata cui mols punta:
/* 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
Il numero di molecole conteggiato da iMols deve essere sempre minore o uguale al numero totale delle molecole, numMols. L'esame visivo del ciclo non permette di verificare che ciò si verifichi necessariamente, pertanto si ricorre a un'istruzione di asserzione dopo il ciclo per verificare la conformità a tale condizione.