Linux repositories inspector

assert_perror(3) - Russkiy

GNU
2017-09-15

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

assert_perror - проверяет errnum и прекращает выполнение программы

ОБЗОР

#define _GNU_SOURCE         /* Смотрите feature_test_macros(7) */
#include <assert.h>

void assert_perror(int errnum);

ОПИСАНИЕ

Если на момент последнего включения <assert.h> был определён макрос NDEBUG, то для макроса assert_perror() не создаётся никакого кода и, соответственно, он вообще ничего не делает. В противном случае, макрос assert_perror() выводит в стандартный поток ошибок сообщение об ошибке и прекращает работу программы вызовом abort(3), если значение errnum не равно нулю. В сообщении содержится имя файла, имя функции и номер строки вызова макроса, а также результат вызова strerror(errnum).

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Ничего не возвращается.

АТРИБУТЫ

Описание терминов данного раздела смотрите в attributes(7).
Интерфейс Атрибут Значение
assert_perror() Безвредность в нитях MT-Safe

СООТВЕТСТВИЕ СТАНДАРТАМ

Это расширение GNU.

ДЕФЕКТЫ

Целью макроса assert является оказание помощи программистам в поиске ошибок в программах — таких сбоев, которые не могут случиться, если только не была допущена ошибка в коде программы. Однако, с системными или библиотечными вызовами ситуация немного отличается, и возврат ошибки может произойти и, собственно, произойдёт и должен может быть проверен, но не через assert, где проверка не получится, если определено NDEBUG, а правильным кодом обработки ошибок. Никогда не используйте этот макрос.

СМОТРИТЕ ТАКЖЕ

REFERENCED BY

⇧ Top