Partager via


ENSURE (MFC)

Utilisation de valider l'exactitude de données.

ENSURE(
   booleanExpression
)
ENSURE_VALID(
booleanExpression
)

Paramètres

  • booleanExpression
    Spécifie une expression booléenne à tester.

Notes

Le but de ces macros consiste à améliorer la validation des paramètres.Les macros empêchent un traitement supplémentaire des paramètres incorrects dans votre code.Contrairement aux macros de ASSERT , les macros d' ENSURE lèvent une exception en plus de générer une assertion.

Les macros se comportent de deux façons, selon la configuration de projet.La macro-instruction ASSERT et lèvent une exception si l'assertion échoue.Par conséquent, dans les configurations de débogage (autrement dit, où _DEBUG est défini) les macros produisent une assertion et une exception tandis que dans les configurations Release, le produit de macros uniquement l'exception (ASSERT n'évalue pas l'expression dans les configurations Release).

Macro ENSURE_ARG agit comme la macro d' ENSURE .

ENSURE_VALID appelle la macro d' ASSERT_VALID (qui a une incidence uniquement dans les versions debug).En outre, ENSURE_VALID lève une exception si le pointeur est NULL.Essayez NULL est exécuté dans configurations debug et Release.

Si l'un de ces tests échoue, un message d'alerte est affiché de la même manière que ASSERT.La macro lève une exception d'argument non valide si nécessaire.

Exemple

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

Configuration requise

Header: afx.h

Voir aussi

Référence

VERIFY

ATLENSURE

Concepts

Macro MFC et Globals