如果我的程序异常终止(通过 exit()),我将返回一个错误代码。对于标准情况,我只返回底层 errno(例如,失败的 malloc 等的 ENOMEM)。然而,也有由于我自己的原因而没有定义系统错误而不得不终止的情况。
我应该返回哪些错误值,以免它们与现有值发生冲突。还是我在做整件事?
编辑:如果我对这个问题不清楚,我很抱歉。我不是在谈论枚举等(它们是定义错误代码的机制)。我说的是他们在不与标准值(value)观冲突的情况下可以采用的值(value)观范围。
我不知道的是程序只能返回 8 位状态。所以看起来 @r 是正确的——它太小了,甚至无法容纳所有标准的,更不用说我的自定义错误了。所以 1/0 是 :)
最佳答案
返回码的宽度通常很小,例如限制为8位,因此很难在其中存储大量信息。真的,除了 0/1(成功/失败)之外,我不会理会退出代码,除非您的程序旨在用于 shell 脚本,在这种情况下,您可能只需要找出潜在的 shell 脚本可能需要检查的错误情况并区分它们(例如,“不匹配”与“搜索时资源耗尽”)。
关于c - 如何为我的自定义错误编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3459861/