ASSERT(3)

NOME
assert - aborta a execução do programa se a premissa for falsa

SINÓPSE
#include <assert.h>

void assert (int expression);

DESCRIÇÃO
assert() envia uma mensagem de erro para a saída padrão e termina o programa chamando abort() se expression for falsa (por exemplo, uma comparação falsa dará zero). Isto só ocorrerá se a macro NDEBUG não estiver definida quando <assert.h> foi incluido por último.

VALORES RETORNADOS
Nenhum valor é retornado.

DE ACORDO COM
ISO9899 (ANSI C). Na padronização de 1990 expression é requerida como sendo do tipo int e um resultado indefinido se ela não for, mas na padronização de 1999 ela deve ser do tipo escalar.

PROBLEMAS
assert() é implementada como uma macro. Se a expressão avaliada gerar erro, o comportamento do programa dependerá de se NDEBUG estiver definida ou não. Podem surgir 'Heisenbugs', que desaparecem quando o 'debugging' estiver ativado.

VEJA TAMBÉM
exit(3),

TRADUZIDO POR LDP-BR em 21/08/2000.

  Tradução:
Paulo César Mendes <drpc@ism.com.br>

  Revisão.:
André Luiz Fassone <lonely_wolf@ig.com.br>