Verifica delle condizioni di errore

Le informazioni contenute in questo argomento sono valide per:

Edizione

Visual Basic

C#

F#

C++

Web Developer

Express

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

Pro, Premium e Ultimate

Argomento non applicabile Argomento non applicabile Argomento non applicabile

Solo nativo

Argomento non applicabile

È possibile utilizzare asserzioni per rilevare eventuali condizioni di errore in un punto del codice in cui tutti gli errori dovrebbero essere stati gestiti. Nell'esempio che segue, una routine grafica restituisce un codice di errore oppure, in caso di esito positivo, il valore zero.

myErr = myGraphRoutine(a, b);

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

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

Se il codice di gestione degli errori funziona correttamente, l'errore dovrebbe essere gestito e myErr impostato nuovamente su zero prima di raggiungere l'asserzione. Se myErr presenta un altro valore, l'asserzione avrà esito negativo, il programma verrà interrotto e verrà visualizzata la finestra di dialogo Finestra di dialogo Asserzione non riuscita.

Le istruzioni di asserzione non sostituiscono tuttavia il codice di gestione degli errori. L'esempio che segue riporta un'istruzione di asserzione che può condurre a problemi nel codice della versione finale:

myErr = myGraphRoutine(a, b);

/* No Code to handle errors */

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

Questo codice si basa sull'istruzione di asserzione per gestire la condizione di errore. Di conseguenza qualsiasi codice di errore restituito da myGraphRoutine risulterà non gestito nel codice della versione finale.

Vedere anche

Concetti

Controllo dei risultati

Rilevamento di errori logici

Asserzioni