table of contents
- bookworm 4.18.1-1
- bookworm-backports 4.25.0-1~bpo12+1
- testing 4.25.0-1
- unstable 4.25.0-1
assert_perror(3) | Library Functions Manual | assert_perror(3) |
ИМЯ¶
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, а правильным кодом обработки ошибок. Никогда не используйте этот макрос.
СМОТРИТЕ ТАКЖЕ¶
ПЕРЕВОД¶
Русский перевод этой страницы руководства разработал(и) Dmitry Bolkhovskikh <d20052005@yandex.ru> и Yuri Kozlov <yuray@komyakino.ru>
Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.
Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков.
15 декабря 2022 г. | Справочные страницы Linux 6.03 |