ENSURE (MFC)
Use validar a exatidão dos dados.
ENSURE(
booleanExpression
)
ENSURE_VALID(
booleanExpression
)
Parâmetros
- booleanExpression
Especifica uma expressão booliana a ser testada.
Comentários
A finalidade desses macros é melhorar a validação dos parâmetros. Macros impedem processamento posterior de parâmetros inválidos em seu código. Ao contrário de macros de DECLARAR , macros de ENSURE lança uma exceção além da geração de uma asserção.
Macros se comportam de duas maneiras, de acordo com a configuração do projeto. A chamada de macros DECLARAR em e lançará uma exceção se a falha de asserção. Assim, em configurações de depuração (ou seja, onde _DEBUG é definido) macros gerencie uma asserção e uma exceção quando em configurações de versão, o produto de macros somente a exceção (DECLARAR não avalia a expressão nas configurações da versão).
ENSURE_ARG macro atua como a macro de ENSURE .
ENSURE_VALID chama a macro de ASSERT_VALID (que tem um efeito apenas em construções de depuração). Além disso, ENSURE_VALID lançará uma exceção se o ponteiro é NULL. O teste NULL é executado nas configurações de depuração e da versão.
Se algum de teste falhar, uma mensagem de alerta será exibida da mesma maneira como DECLARAR. A macro gerará uma exceção de argumento inválido se necessário.
Exemplo
void CMyClass::Open(CMyObject* pMyObject)
{
ENSURE_VALID(pMyObject);
ENSURE(m_CubeLen > 0);
pMyObject->DoSomething();
}
Requisitos
Header: afx.h