err

Autres langues

Langue: ja

Autres versions - même langue

Version: 98111 (fedora - 25/11/07)

Section: 3 (Bibliothèques de fonctions)


BSD mandoc

名前

err verr errx verrx warn vwarn warnx vwarnx - エラーメッセージを整形する

SYNOPSIS (書式)

Fd #include <err.h> Ft void Fn err int eval const char *fmt ... Ft void Fn errx int eval const char *fmt ... Ft void Fn warn const char *fmt ... Ft void Fn warnx const char *fmt ... Fd #include <stdarg.h> Ft void Fn verr int eval 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 vwarnx const char *fmt va_list args

説明

Fn err 関数群と Fn warn 関数群は、エラーメッセージを整形して標準エラー出力に表示する。 どの関数の場合も、(ディレクトリ部分を省いた)プログラム名、 コロン 1個、スペース 1個が出力される。 Fa fmt 引き数が NULL でない場合、 printf(3) と同様に整形が行われ、エラーメッセージが出力される。 出力は改行文字で終わる。

関数 Fn err , Fn verr , Fn warn , Fn vwarn は、コードまたはグローバル変数 errno に基づいて strerror(3) から得たエラーメッセージを出力する。 Fa fmt 引き数が NULL でない場合は、一個ずつのコロンとスペースに続けて出力する。

関数 Fn err , Fn verr , Fn warn , Fn vwarn は、エラーメッセージを探すためにグローバル変数 errno を使用する。

関数 Fn errx , Fn warnx はエラーメッセージを付け加えない。

関数 Fn err , Fn verr , Fn errx , Fn verrx は返り値を返さないが、引き数 Fa eval の値を exit status に設定し終了する。

現在の 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);
 

準拠

これらの関数は非標準の BSD 拡張である。

歴史

関数 Fn err と Fn warn は BSD 4.4 で初めて登場した。

関連項目

error(3), exit(3), printf(3), perror(3), strerror(3)