在我正在处理的项目中,我定义了一个基本的枚举
来存储应用可能遇到的错误列表。然而,我想找到一种方法来返回描述错误的字符串。
这是我正在使用的枚举:
enum _library_results_enum{
LIB_SUCCESS = 1,
LIB_FAIL,
LIB_NULL_PARAM,
LIB_MALLOC_ERROR,
LIB_TIMEOUT,
LIB_CONNECTION_CLOSED
}
如果一个函数返回的结果不是
LIB_SUCCESS
,那么理想情况下我希望能够简单地说:printf("Error Description: %s\n", ERROR_DESCRIPTIONS[RESULT]);
为了解决这个问题,我想到需要一个
static const *char[]
来存储所有描述的数组。然而,enum
值不是从零 (0) 开始的,最终我可能会向这个枚举中添加一些负值。因此,使用字符串数组并不是一个真正的选项。我还能做什么来处理这个问题呢?我考虑创建一个函数,使用 switch 语句返回一个描述,但这只是一个后备方案,如果没有更好的选择。
编辑:为了更好地说明,我需要一种将枚举中的结果代码与描述它们的字符串相关联的方法。
switch
语句和其他语句一样简单,甚至可能更简单。由于这些是错误代码描述,执行时间很可能不是问题,所以我建议您继续前进。易于编写和维护。 - Weather Vane