Scroll to navigation

ERR(3) Library Functions Manual ERR(3)

名前

err, verr, errx, verrx, warn, vwarn, warnx, vwarnxエラーメッセージをフォーマットにする

書式

#include <err.h> void (int eval, const char *fmt, ...) void (int eval, const char *fmt, va_list args) void (int eval, const char *fmt, ...) void (int eval, const char *fmt, va_list args) void warn(const char *fmt, ...) void (const char *fmt, va_list args) void (const char *fmt, ...) void (const char *fmt, va_list args)

説明

err() や warn() といった一連の関数は、フォーマットされたエラーメッセージを 標準エラーに表示する。 これら全ての関数は、プログラム名からディレクトリ部分を取り去った名前に、 コロンとスペースを続けたものを出力する。 引き数 fmt が NULL でない場合、フォーマットされたエラーメッセージ・ コロン・スペースが出力される。 err(), verr(), warn(), vwarn() 関数の場合、大域変数 errno の現在の値に対応したエラーメッセージ文字列が出力される。 全ての関数で、出力の後には改行文字が付く。

(), (), (), () 関数はリターンせず、引き数 eval の値で終了する。

現在のエラー番号 (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);

関連項目

strerror(3)

履歴

() と () 関数は 4.4BSD で初めて登場した。

June 9, 1993 Linux NetKit (0.17)