GARANTIR (MFC)
Use para validar a exatidão dos dados.
ENSURE(
booleanExpression
)
ENSURE_VALID(
booleanExpression
)
Parâmetros
- booleanExpression
Especifica uma expressão booleana para ser testado.
Comentários
O objetivo dessas macros é melhorar a validação de parâmetros.As macros impedem processamento adicional de parâmetros incorretos em seu código.Ao contrário do ASSERT macros, o garanta macros jogue uma exceção, além de gerar uma declaração.
As macros se comportam de duas maneiras, de acordo com a configuração do projeto.A chamada de macros ASSERT e, em seguida, lançar uma exceção se a declaração falhar.Assim, em configurações de depuração (isto é, onde Debug definido) as macros produzam uma declaração e exceção enquanto em configurações de lançamento, as macros produzem somente a exceção (ASSERT não avalia a expressão em configurações de lançamento).
A macro ENSURE_ARG age como o garanta macro.
ENSURE_VALID chamadas de ASSERT_VALID macro (que tem um efeito apenas em compilações de depuração).Além disso, ENSURE_VALID lança uma exceção se o ponteiro for nulo.O teste NULL é executado em configurações Debug e Release.
Se algum desses testes falhar, uma mensagem de alerta é exibida da mesma maneira que ASSERT.A macro lança 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
Cabeçalho: Afx. h