Condividi tramite


ENSURE (MFC)

Utilizzare convalidare correttezza di dati.

ENSURE( 
   booleanExpression 
) 
ENSURE_VALID( 
booleanExpression 
)

Parametri

  • booleanExpression
    Specifica un'espressione boolean da testare.

Note

Lo scopo di queste macro è migliorare la convalida dei parametri. Le macro impediscono un'ulteriore elaborazione di parametri errati nel codice. A differenza delle macro di ASSERT, le macro di ENSURE generano un'eccezione e per generare un metodo assert.

Le macro si comportano in due modi diversi, a seconda della configurazione del progetto. La chiamata di macro ASSERT quindi genera un'eccezione se l'asserzione avrà esito negativo. Pertanto, nelle configurazioni di debug e ovvero dove _DEBUG è definito) macro generano un'asserzione e un'eccezione mentre in release, le macro generano solo eccezione (ASSERT non valuta l'espressione in release).

ENSURE_ARG macro agisce come la macro di ENSURE.

ENSURE_VALID richiama la macro di ASSERT_VALID (che ha effetto solo nelle build di debug. Inoltre, ENSURE_VALID genera un'eccezione se il puntatore è NULL. Il test viene eseguito NULL sia durante il debug e release.

Se uno di questi test non riesce, un messaggio di avviso vengono visualizzate nello stesso modo di ASSERT. La macro genera un'eccezione di argomento non valido se necessario.

Esempio

void CMyClass::Open(CMyObject* pMyObject)
{
   ENSURE_VALID(pMyObject); 
   ENSURE(m_CubeLen > 0);
   pMyObject->DoSomething();
}

Requisiti

Intestazione: afx.h

Vedere anche

Riferimenti

VERIFY

ATLENSURE

Concetti

Macro e funzioni globali MFC