Provided by: manpages-ru-dev_4.27.0-1_all bug

НАИМЕНОВАНИЕ

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

БИБЛИОТЕКА

       Стандартная библиотека языка C (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> и Kirill Rekhov <krekhov.dev@gmail.com>

       Этот  перевод является свободной программной документацией; он распространяется на условиях общедоступной
       лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html  версии  3  или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если  вы  обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом
       разработчику(ам)  по  его(их)  адресу(ам)  электронной  почты  или  по   адресу   списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                 assert_perror(3)