ERR - Linux手册页
时间:2019-08-20 18:01:37 来源:igfitidea点击:
Linux程序员手册 第3部分
更新日期: 2020-06-09
名称
err,verr,errx,verrx,warn,vwarn,warnx,vwarnx-格式化的错误消息
语法
#include <err.h> void err(int eval, const char *fmt, ...); void errx(int eval, const char *fmt, ...); void warn(const char *fmt, ...); void warnx(const char *fmt, ...); #include <stdarg.h> void verr(int eval, 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 vwarnx(const char *fmt, va_list args);
说明
err()和warn()系列函数在标准错误输出上显示格式化的错误消息。在所有情况下,都将输出程序名称的最后一部分,冒号和空格。如果fmt参数不为NULL,则输出类似printf(3)的格式化错误消息。输出以换行符终止。
err(),verr(),warn()和vwarn()函数会根据全局变量errno附加从strerror(3)获得的错误消息,除非fmt参数为NULL,否则在其后附加另一个冒号和空格。
errx()和warnx()函数不会附加错误消息。
err(),verr(),errx()和verrx()函数不会返回,而是以参数eval的值退出。
属性
有关本节中使用的术语的说明,请参见attribute(7)。
Interface | Attribute | Value |
err(),errx(), warn(),warnx(), verr(),verrx(), vwarn(),vwarnx() | Thread safety | MT-Safe locale |
遵循规范
这些功能是非标准的BSD扩展。
示例
显示当前的errno信息字符串并退出:
p = malloc(size); if (p == NULL) err(EXIT_FAILURE, NULL); fd = open(file_name, O_RDONLY, 0); if (fd == -1) err(EXIT_FAILURE, "%s", file_name);
显示错误消息并退出:
if (tm.tm_hour < START_TIME) errx(EXIT_FAILURE, "too early, wait until %s", start_time_string);
警告错误:
fd = open(raw_device, O_RDONLY, 0); if (fd == -1) warnx("%s: %s: trying the block device", raw_device, strerror(errno)); fd = open(block_device, O_RDONLY, 0); if (fd == -1) err(EXIT_FAILURE, "%s", block_device);
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。