ASSERT_PERROR

Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index JM Home Page
 

名前

assert_perror - test errnum and abort  

書式

#define _GNU_SOURCE         /* feature_test_macros(7) 参照 */
#include <assert.h>

void assert_perror(int errnum);
 

説明

最後に <assert.h> がインクルードされた時にマクロ NDEBUG が定義されていた場合、マクロ assert_perror() は何のコードも生成せず、したがって全く何もしない。 そうでない場合、マクロ assert_perror() は標準エラーにエラーメッセージを表示し、 errnum が 0 でない場合には abort(3) を呼び出してプログラムを終了させる。 メッセージには、ファイル名、マクロ呼び出しがあった関数名と行番号、 strerror(errnum) の出力が含まれる。  

返り値

値は返されない。  

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性
assert_perror() Thread safety MT-Safe

 

準拠

これは GNU による拡張である。  

バグ

assert マクロの目的は、プログラマがプログラム中のバグを探す手助けをすることであり、コーディング間違いがない場合には何が起こることはありえない。 しかしながら、システムコールやライブラリコールの場合、状況がかなり違っていて、 エラーが返されることがありえるし、実際あるだろう。そしてそのような状況でも テストされるべきである。この場合には、 NDEBUG を定義することで無効にできる assert ではなく、適切なエラー処理コードで対処すべきである。 このマクロは決して使わないこと。  

関連項目

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

関連キーワード

PERROR, assert, マクロ, ASSERT, perror, rt, バグ, errnum, 属性, エラー

Linux マニュアル 一覧

[man1] [man2] [man3] [man4] [man5] [man6] [man7] [man8]
[a] [b] [c] [d] [e] [f] [g] [h] [i] [j] [k] [l] [m] [n] [o] [p] [q] [r] [s] [t] [u] [v] [w] [x] [y] [z]

 

Index

名前
書式
説明
返り値
属性
準拠
バグ
関連項目
この文書について

This document was created by man2html, using the manual pages.
Time: 12:08:38 GMT, June 11, 2022