ENSURE (MFC)
Uso de validar la corrección de los datos.
ENSURE(
booleanExpression
)
ENSURE_VALID(
booleanExpression
)
Parámetros
- booleanExpression
Especifica una expresión booleana que se va a probar.
Comentarios
El propósito de estas macros es mejorar la validación de parámetros.Las macros evitan la transformación posterior de parámetros incorrectos en el código.A diferencia de las macros de ASSERT , macros de ENSURE producen una excepción además de generar una aserción.
Las macros se comportan de dos maneras, según la configuración de proyecto.La macro-instrucción ASSERT a continuación produce una excepción si se produce un error en la aserción.Así, en configuraciones de depuración (es decir, donde se define _DEBUG ) macros generan una aserción y una excepción mientras en la configuración de lanzamiento, la producción de macros sólo la excepción (ASSERT no evalúa la expresión en la configuración release).
ENSURE_ARG macro actúa como macro de ENSURE .
ENSURE_VALID llama a la macro de ASSERT_VALID (que tiene efecto únicamente en las compilaciones de depuración).Además, ENSURE_VALID produce una excepción si el puntero es NULL.Pruebas de NULL se realiza en configuraciones debug y release.
Si se produce cualquiera de estas pruebas, un mensaje de alerta se muestra de la misma manera que ASSERT.La macro produce una excepción de argumento no válido si es necesario.
Ejemplo
void CMyClass::Open(CMyObject* pMyObject)
{
ENSURE_VALID(pMyObject);
ENSURE(m_CubeLen > 0);
pMyObject->DoSomething();
}
Requisitos
Header: afx.h