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 safetyMT-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: 03:33:27 GMT, December 05, 2022