assert_perror

TriggerTek Logo
abcdefghijklmnopqrstuvwxyz_
ASSERT_PERROR(3)	  Linux Programmer’s Manual	     ASSERT_PERROR(3)



NAME
       assert_perror - test errnum and abort

SYNOPSIS
       #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 standard output  and	terminates  the	 program  by  calling
       abort() if errnum is nonzero. The message contains the filename, func-
       tion name and line number of the macro call, and the  output  of	 str-
       error(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
       exit(3), abort(3), assert(3), strerror(3)



GNU				  2002-08-25		     ASSERT_PERROR(3)