是否有一些用于在C中设计错误代码的指南

时间:2013-08-23 08:17:54

标签: c return-value error-code

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

我曾经认为错误代码可能被拆分成一些位字段来指定错误类型或抛出错误的函数或其他东西。我找到了灵感,并没有针对错误代码的特定项目。也许在你知道的一些着名项目中有一些很好的编码错误代码,请告诉我该项目的名称

我会非常感激。

2 个答案:

答案 0 :(得分:2)

您可能希望使用enum数据类型。例如:

typedef enum { KEY_NOT_FOUND, INVALID_DATA } errortype;

答案 1 :(得分:2)

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