ERR
Section: C Library Functions (3)
索引
jman
BSD mandoc
索引
名称
err
verr
errc
verrc
errx
verrx
warn
vwarn
warnc
vwarnc
warnx
vwarnx
err_set_exit
err_set_file
- フォーマットされたエラーメッセージ
索引
ライブラリ
Lb libc
索引
書式
In err.h
Ft void
Fn err int eval const char *fmt ...
Ft void
Fn err_set_exit void (*exitf)(int)
Ft void
Fn err_set_file void *vfp
Ft void
Fn errc int eval int code const char *fmt ...
Ft void
Fn errx int eval const char *fmt ...
Ft void
Fn warn const char *fmt ...
Ft void
Fn warnc int code const char *fmt ...
Ft void
Fn warnx const char *fmt ...
In stdarg.h
Ft void
Fn verr int eval const char *fmt va_list args
Ft void
Fn verrc int eval int code const char *fmt va_list args
Ft void
Fn verrx int eval const char *fmt va_list args
Ft void
Fn vwarn const char *fmt va_list args
Ft void
Fn vwarnc int code const char *fmt va_list args
Ft void
Fn vwarnx const char *fmt va_list args
索引
解説
Fn err
関数と
Fn warn
関数のファミリは、標準エラー出力、または
Fn err_set_file
関数を使用して指定した別のファイル上にフォーマット済みの
エラーメッセージを表示します。
すべての場合に、プログラム名の最後のコンポーネント、コロンキャラクタ、
およびスペースが出力されます。
Fa fmt
引数が NULL でない場合、
printf(3)
のようなフォーマット済みのエラーメッセージが出力されます。
出力の最後には改行文字が付きます。
Fn err ,
Fn errc ,
Fn verr ,
Fn verrc ,
Fn warn ,
Fn warnc ,
Fn vwarn ,
Fn vwarnc
の関数は、code または大域変数
errno
に基くエラーメッセージを、前にコロンと空白を付けて、付加します。
ただし、
Fa fmt
引数が
NULL
の場合は例外です。
Fn errc ,
Fn verrc ,
Fn warnc ,
および
Fn vwarnc
の各関数の場合、
code
引数がエラーメッセージの検索に使用されます。
Fn err ,
Fn verr ,
Fn warn ,
および
Fn vwarn
の各関数は、
グローバル変数
errno
を使用してエラーメッセージを検索します。
Fn errx
関数および
Fn warnx
関数は、エラーメッセージを追加しません。
Fn err ,
Fn verr ,
Fn errc ,
Fn verrc ,
Fn errx ,
および
Fn verrx
の各関数は、
戻りませんが、引数
Fa eval
の値で終了します。
Fn err_set_exit
関数を使用して、
exit(3)
の前に呼び出される関数を指定して、必要なクリーンアップを
実行できます。
exitf
用に NULL 関数ポインタを割り当てると、フックが
何もしないようにリセットされます。
関数は、他の関数が使用する出力ストリームを設定します。
Fa vfp
引数は、開いているストリーム
(既に void * に変換されているかもしれません)
か、NULL ポインタです
(この場合出力ストリームは標準エラーに設定されます)。
索引
例
現在の errno 情報を表示し終了します。
if ((p = malloc(size)) == NULL)
err(1, NULL);
if ((fd = open(file_name, O_RDONLY, 0)) == -1)
err(1, "%s", file_name);
エラーメッセージを表示して終了します。
if (tm.tm_hour < START_TIME)
errx(1, "too early, wait until %s", start_time_string);
エラーの警告
if ((fd = open(raw_device, O_RDONLY, 0)) == -1)
warnx("%s: %s: trying the block device",
raw_device, strerror(errno));
if ((fd = open(block_device, O_RDONLY, 0)) == -1)
err(1, "%s", block_device);
グローバル変数
errno
を使用しないエラーの警告
error = my_function(); /* returns a value from <errno.h> */
if (error != 0)
warnc(error, "my_function");
索引
関連項目
exit(3),
printf(3),
strerror(3)
索引
歴史
Fn err
関数と
Fn warn
関数は最初に
BSD 4.4
で現れました。
Fn err_set_exit
関数
Fn err_set_file
関数は最初に
Fx 2.1
で現れました。
Fn errc
関数と
Fn warnc
関数は最初に
Fx 3.0
で現れました。
索引
Index
- 名称
-
- ライブラリ
-
- 書式
-
- 解説
-
- 例
-
- 関連項目
-
- 歴史
-
Time: 07:06:48 GMT, January 12, 2009