c - 如何为我的自定义错误编号

标签 c errno

如果我的程序异常终止(通过 exit()),我将返回一个错误代码。对于标准情况,我只返回底层 errno(例如,失败的 malloc 等的 ENOMEM)。然而,也有由于我自己的原因而没有定义系统错误而不得不终止的情况。

我应该返回哪些错误值,以免它们与现有值发生冲突。还是我在做整件事?

编辑:如果我对这个问题不清楚,我很抱歉。我不是在谈论枚举等(它们是定义错误代码的机制)。我说的是他们在不与标准值(value)观冲突的情况下可以采用的值(value)观范围。

我不知道的是程序只能返回 8 位状态。所以看起来 @r 是正确的——它太小了,甚至无法容纳所有标准的,更不用说我的自定义错误了。所以 1/0 是 :)

最佳答案

返回码的宽度通常很小,例如限制为8位,因此很难在其中存储大量信息。真的,除了 0/1(成功/失败)之外,我不会理会退出代码,除非您的程序旨在用于 shell 脚本,在这种情况下,您可能只需要找出潜在的 shell 脚本可能需要检查的错误情况并区分它们(例如,“不匹配”与“搜索时资源耗尽”)。

关于c - 如何为我的自定义错误编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459861/

相关文章:

mysql - 无法创建表(错误号 : 150) with added KEY

c++ - 从 OpenCV Canny 边缘检测器获取角度

c - 从数组中删除数字?

c - MEX (C -> Matlab) 在 mac/linux 和 windows 上转换为 int -> double 不同

Python:将 errno 映射到 OSError 的子类

c - 注意: expected ‘int * (*)()’ but argument is of type ‘int’

c - stm32f4 CAN receiver_IT问题

c - 求串口读取例子

c - 如何在保存函数值的同时打印 errno?