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