Compartilhar via


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

Consulte também

Referência

VERIFY

ATLENSURE

Conceitos

Macros e globais MFC