tail head cat sleep
QR code linking to this page

Man page  — ERR

명칭

err, verr, errc, verrc, errx, verrx, warn, vwarn, warnc, vwarnc, warnx, vwarnx, err_set_exit, err_set_file – 포맷 된 에러 메세지

내용

프로그램 라이브러리

Standard C Library (libc, -lc)

서식

#include <err.h>

void
err(int eval, const char *fmt, ...);

void
err_set_exit(void (*exitf)(int));

void
err_set_file(void *vfp);

void
errc(int eval, int code, const char *fmt, ...);

void
errx(int eval, const char *fmt, ...);

void
warn(const char *fmt, ...);

void
warnc(int code, const char *fmt, ...);

void
warnx(const char *fmt, ...);
#include <stdarg.h>

void
verr(int eval, const char *fmt, va_list args);

void
verrc(int eval, int code, const char *fmt, va_list args);

void
verrx(int eval, const char *fmt, va_list args);

void
vwarn(const char *fmt, va_list args);

void
vwarnc(int code, const char *fmt, va_list args);

void
vwarnx(const char *fmt, va_list args);

해설

err() 함수와 warn() 함수의 패밀리는, 표준 에러 출력, 또는 err_set_file() 함수를 사용해 지정한 다른 파일상에 포맷 끝난 에러 메세지를 표시합니다. 모든 경우에, 프로그램명의 마지막 컴퍼넌트, 코론캐라크타, 및 스페이스가 출력됩니다. fmt 인수가 NULL 가 아닌 경우, printf(3) (와)과 같은 포맷 끝난 에러 메세지가 출력됩니다. 출력의 마지막에는 개행 캐릭터가 붙습니다.

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 포인터입니다 (이 경우 출력 스트림은 표준 에러로 설정됩니다).

현재의 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)

역사

err() 함수와 warn() 함수는 최초로 BSD 4.4 그리고 나타났습니다. err_set_exit() 함수 err_set_file() 함수는 최초로 FreeBSD 2.1 그리고 나타났습니다. errc() 함수와 warnc() 함수는 최초로 FreeBSD 3.0 그리고 나타났습니다.

ERR (3) March 6, 1999

tail head cat sleep
QR code linking to this page


Ben Bullock이 유닉스 매뉴얼 페이지에서 서비스에 대한 의견을 주시기 바랍니다. Privacy policy.

An ASCII character walks into a bar and orders a double. "Having a bad day?" asks the barman. "Yeah, I have a parity error," replies the ASCII character. The barman says, "Yeah, I thought you looked a bit off."