Man Pages

assert_perror(3) - phpMan assert_perror(3) - phpMan

Command: man perldoc info search(apropos)  


ASSERT_PERROR(3)           Linux Programmer's Manual          ASSERT_PERROR(3)



NAME
       assert_perror - test errnum and abort

SYNOPSIS
       #define _GNU_SOURCE
       #include <assert.h>

       void assert_perror(int errnum);

DESCRIPTION
       If the macro NDEBUG was defined at the moment <assert.h> was last included, the macro assert_perror() generates
       no code, and hence does nothing at all.  Otherwise, the macro assert_perror() prints an error message to  stan-
       dard  error  and  terminates  the  program by calling abort(3) if errnum is non-zero.  The message contains the
       filename, function name and line number of the macro call, and the output of strerror(errnum).

RETURN VALUE
       No value is returned.

CONFORMING TO
       This is a GNU extension.

BUGS
       The purpose of the assert macros is to help the programmer find bugs in his program, things that cannot  happen
       unless  there  was  a coding mistake.  However, with system or library calls the situation is rather different,
       and error returns can happen, and will happen, and should be tested for.  Not by an assert, where the test goes
       away when NDEBUG is defined, but by proper error handling code.  Never use this macro.

SEE ALSO
       abort(3), assert(3), exit(3), strerror(3), feature_test_macros(7)

COLOPHON
       This  page  is part of release 3.22 of the Linux man-pages project.  A description of the project, and informa-
       tion about reporting bugs, can be found at http://www.kernel.org/doc/man-pages/.



GNU                               2002-08-25                  ASSERT_PERROR(3)