1

很长一段时间以来我一直很困惑,是否有一种在 C 中设计错误代码作为返回码的好方法。我曾经使用幻数或全局宏来定义特定错误,例如使用 -1 作为一般故障。但是当项目变大时,我发现管理这些错误代码并不容易。有人可以给我一个关于如何设计好的错误代码的例子或指南吗?

我曾经认为错误代码可能会被拆分为一些位字段以指定错误的类型或引发错误的函数或其他内容。我正在寻找灵感,并且没有针对错误代码的特定项目。也许你知道的一些著名项目中有一些很好的编码错误代码,请告诉我那个项目的名称

我会很感激的。

4

2 回答 2

2

您可能喜欢使用enum数据类型。例如:

typedef enum { KEY_NOT_FOUND, INVALID_DATA } errortype;
于 2013-08-23T08:21:08.397 回答
2

strerror提供用户定义的错误代码。此实现strerror提供用户定义的可扩展性。errno.h定义__ELASTERROR,可用作用户定义的错误值的基础。

于 2013-08-23T08:24:35.700 回答