在 C 中使用 "err" 进行错误处理:我应该使用什么代码?

Error handling with "err" in C: What codes should I use?

errerrx 的手册页说明了以下语法:

显然 const char *fmt 是格式字符串,... 包含它的参数(就像 printf)。我知道 eval 是您分配给错误的代码。由于手册页没有说明有关 eval 参数的任何更具体的内容,我想知道:
是否有规则/约定,指定应为特定错误分配哪些错误代码,或者它是编写代码的程序员的选择,以编写他们认为必要的任何 eval 值?

来自我的 Ubuntu (GNU/Linux) 系统的手册页:

The err(), verr(), errx(), and verrx() functions do not return, but exit with the value of the argument eval.

所以这是一个您要传递给 exit 的值。

如果要便携,C定义了EXIT_SUCCESSEXIT_FAILURE

也就是说,返回 0 到 127 之间的数字应该没有问题,0 表示成功。这些数字的含义取决于您,但通常会越来越严重。例如,grep returns 如果找到匹配项则为 0,如果未找到匹配项则为 1,如果发生错误则为 2。