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.