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