総合手引 | セクション 3 | English | オプション |
#include <err.h>
#include <stdarg.h>
err(), errc(), verr(), verrc(), warn(), warnc(), vwarn(), vwarnc() の関数は、code または大域変数 errno に基くエラーメッセージを、前にコロンと空白を付けて、付加します。 ただし、 fmt 引数が NULL の場合は例外です。
errc(), verrc(), warnc(), および vwarnc() の各関数の場合、 code 引数がエラーメッセージの検索に使用されます。
err(), verr(), warn(), および vwarn() の各関数は、 グローバル変数 errno を使用してエラーメッセージを検索します。
errx() 関数および warnx() 関数は、エラーメッセージを追加しません。
err(), verr(), errc(), verrc(), errx(), および verrx() の各関数は、 戻りませんが、引数 eval の値で終了します。 err_set_exit() 関数を使用して、 exit(3) の前に呼び出される関数を指定して、必要なクリーンアップを 実行できます。 exitf 用に NULL 関数ポインタを割り当てると、フックが 何もしないようにリセットされます。 関数は、他の関数が使用する出力ストリームを設定します。 vfp 引数は、開いているストリーム (既に void * に変換されているかもしれません) か、NULL ポインタです (この場合出力ストリームは標準エラーに設定されます)。
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");
ERR (3) | March 6, 1999 |
総合手引 | セクション 3 | English | オプション |
このマニュアルページサービスについてのご意見は Ben Bullock にお知らせください。 Privacy policy.
“ | Do you laugh when the waiter drops a tray full of dishes? Unix weenies do. They're the first ones to laugh at hapless users, trying to figure out an error message that doesn't have anything to do with what they just typed. | ” |
— The Unix Haters' handbook |