Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

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

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #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, а правильным кодом обработки ошибок. Никогда не используйте этот макрос.

СМ. ТАКЖЕ

       abort(3), assert(3), exit(3), strerror(3)

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Dmitry  Bolkhovskikh  <d20052005@yandex.ru>  и  Yuri
       Kozlov <yuray@komyakino.ru>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если  вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                           15 декабря 2022 г.                               assert_perror(3)