STELLEN SEH SICHER (MFC)

Verwenden Sie korrektheit Daten zu überprüfen.

ENSURE(
   booleanExpression
)
ENSURE_VALID(
booleanExpression
)

Parameter

  • booleanExpression
    Gibt einen booleschen Ausdruck an getestet werden soll.

Hinweise

Der Zweck dieser Makros handelt, die Validierung von Parametern zu verbessern.Die Makros verhindern, dass der falschen Parameter in Ihrem Code weiter verarbeiten.Im Gegensatz zur ASSERT Makros lösen eine Ausnahme ENSURE die Makros zusätzlich zum Generieren einer Assertion fehl.

Die Makros verhalten sich auf zwei Arten entsprechend der Projektkonfiguration.Der Makroaufruf ASSERT und lösen dann eine Ausnahme aus, wenn die Assertion fehlschlägt.Wie in den Debugkonfigurationen sind (das heißt, wo _DEBUG definiert wurde), erzeugen die Makros eine Assertion und eine Ausnahme während Releasekonfigurationen, in dem das Makro erzeugnis nur die Ausnahme (ASSERT wertet den Ausdruck nicht in der Releasekonfiguration aus).

Makro- ENSURE_ARG verhält sich wie das ENSURE Makro.

ENSURE_VALID ruft das ASSERT_VALID Makro (das einen Effekt nur in Debugbuilds hat).Darüber hinaus ENSURE_VALID löst eine Ausnahme aus, wenn der Zeiger NULL ist.Der NULL Test wird ausgeführt und gedebuggt in Konfigurationen gemeinsam nutzen.

Wenn alle Versuche fehlschlägt, wird eine Warnmeldung auf die gleiche Weise wie ASSERT angezeigt.Das Makro löst eine ungültige Argumentausnahme nach Bedarf aus.

Beispiel

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

Anforderungen

Header: afx.h

Siehe auch

Referenz

Sie ÜBERPRÜFEN

ATLENSURE

Konzepte

MFC-Makros und -globale Werte