Condividi tramite


ENSURE (MFC)

Per convalidare precisione di dati.

ENSURE(
   booleanExpression
)
ENSURE_VALID(
booleanExpression
)

Parametri

  • booleanExpression
    Specifica un'espressione booleana 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 oltre a generare un'asserzione.

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 durante la configurazione per il rilascio, le macro generano solo eccezione (ASSERT non valuta l'espressione nelle configurazioni per il rilascio).

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 NULL viene eseguito sia durante il Debug di rilascio.

Se uno di questi test ha esito negativo, viene visualizzato un messaggio di avviso 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

Header: afx.h

Vedere anche

Riferimenti

VERIFY

ATLENSURE

Concetti

Macro MFC e Globals