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.