ASSERT_PERROR
Section: Linux Programmer's Manual (3)
Updated: 2017-09-15
Index
JM Home Page
roff 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/ に書かれている。
 Index
- 名前
 - 
 - 書式
 - 
 - 説明
 - 
 - 返り値
 - 
 - 属性
 - 
 - 準拠
 - 
 - バグ
 - 
 - 関連項目
 - 
 - この文書について
 - 
 
This document was created by
man2html,
using the manual pages.
Time: 16:46:40 GMT, November 24, 2023