Manpages

NOMBRE

assert_perror − comprueba errnum y aborta

SINOPSIS

#include <assert.h>

void assert_perror(int errnum);

DESCRIPCIÓN

Si la macro NDEBUG estaba definida en el momento en que <assert.h> fue incluido por última vez, la macro assert_perror() no genera ningún código, y por tanto no hace nada. En otro caso, la macro assert_perror() imprime un mensaje de error a la salida estándar y termina el programa llamando a abort() si errnum es distinto de cero. El mensaje contiene el nombre de fichero, nombre de función y número de línea de llamada a la macro, y la salida de strerror(errnum).

VALOR DEVUELTO

No se devuelve ningún valor.

CONFORME A

Esta función es una extensión de GNU.

FALLOS

El propósito de las macros de asertos es ayudar al programador a encontrar fallos en su programa, cosas que no pueden ocurrir a menos que haya un error de codificación. Sin embargo, con llamadas al sistema o a funciones de biblioteca la situación es bastante diferente, y se pueden devolver códigos de error, y se devolverán, y deberían ser comprobados. No por un aserto, donde la comprobación desaparece si la NDEBUG está definida, sino por un código de manejo de errores apropiado. Nunca use esta macro.

VÉASE TAMBIÉN

exit(3), abort(3), assert(3), strerror(3)