DOKK / manpages / debian 10 / manpages-es / assert_perror.3.es
ASSERT_PERROR(3) Manual del Programador de Linux ASSERT_PERROR(3)

assert_perror - comprueba errnum y aborta

#include <assert.h>

void assert_perror(int errnum);

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).

No se devuelve ningún valor.

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

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.

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

25 agosto 2002 GNU