Declarações de MFC
This topic applies to:
Edition |
Visual Basic |
C# |
F# |
C++ |
Web Developer |
---|---|---|---|---|---|
Express |
Native only |
||||
Pro, Premium e Ultimate |
Native only |
MFC define o ASSERT macro para a verificação de declaração. Ele também define o ASSERT_VALID do MFC e CObject::AssertValid para verificar o estado interno de um objeto derivado de CObject.
A macro MFC ASSERT interrompe a execução do programa e alerta o usuário se o argumento (expressão) for avaliada como zero ou falso. Se a expressão for avaliada para um diferente de zero, a execução continua.
Quando uma declaração falha, uma caixa de diálogo de mensagem exibe o nome do arquivo de origem e o número da linha a declaração. Se você escolher ' Repetir ' na caixa de diálogo caixa de uma chamada para AfxDebugBreak faz com que a execução quebrar ao depurador. Nesse ponto, você pode examinar a pilha de chamadas e outros recursos do depurador para determinar a causa da falha de declaração. Se você tiver ativado a depuração Just-in-time, a caixa de diálogo pode iniciar o depurador se ele não estava executando quando ocorreu a falha de declaração.
O exemplo a seguir mostra como usar ASSERT para verificar o valor de retorno de uma função:
int x = SomeFunc(y);
ASSERT(x >= 0); // Assertion fails if x is negative
Você pode usar ASSERT com o IsKindOf a função para fornecer a verificação de tipos dos argumentos da função:
ASSERT( pObject1->IsKindOf( RUNTIME_CLASS( CPerson ) ) );
A macro ASSERT detecta erros de programa somente na versão de depuração do seu programa. A macro não produz nenhum código na versão de lançamento. Se você precisa avaliar a expressão na versão de lançamento, use o VERIFY macro em vez de ASSERT.