ExpertiDict

C · Essencial · Inglês · Técnico

assert

/əˈsɝt/macro

Macro de assert.h que verifica uma condição em tempo de execução e aborta o programa, mostrando arquivo e linha, se ela for falsa. Desaparece quando NDEBUG está definido.

Onde usar

Documenta invariantes e pré-condições durante o desenvolvimento. Em release, com -DNDEBUG, a expressão nem é avaliada, então ela não pode conter um efeito colateral necessário.

Em código

#include <assert.h>
int dividir(int a, int b) {
  assert(b != 0);  // pré-condição
  return a / b;
}

Exemplos

Add an assert so we catch a null pointer early.

Coloque um assert para pegar um ponteiro nulo cedo.

The assert disappears in release builds.

O assert some nas builds de release.

Cuidado

Usar assert para validar entrada do usuário ou pôr nele código que precisa executar, como assert(fclose(f) == 0).

Sinônimos

asserção

Veja também

Todos os termos de C