Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais
Nous recommandons d’utiliser Visual Studio 2017
Cette documentation est archivée et n’est pas conservée.

ENSURE (MFC)

Utilisation de valider l'exactitude de données.

ENSURE(
   booleanExpression
)
ENSURE_VALID(
booleanExpression
)

booleanExpression

Spécifie une expression booléenne à tester.

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.


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


Afficher: