假设您的所有函数都返回结果状态(就像Microsoft的HRESULT一样)。这些数字在枚举中定义,其中一个值表示一切正常,所有其他值表示某些不好的味道。
直觉我编号OK = 0和所有其他!= 0。但是,如果你是一个C程序员(和其他几种语言),那么这只是bool的反面。
我开始想知道是否有任何编程指南。一般做法是什么?优缺点都有什么?这是因为我参与了一个项目,其中OK = 0x01,所有其他失败状态都是!0x01(是0x0也是失败),我们正在编组语言之间的返回值(枚举成为整数)。
答案 0 :(得分:0)
如果零没有错误,而其他任何错误则可以写
error = function_that_returns_an_error();
if( error )
handleError();
或
if( !error )
allsWell();
这是非常清晰的代码
除此之外,有时负值是错误代码,正值是状态代码(例如"需要更多数据",然后零就好了