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)