assert_perror(3)
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.