我正在用 Visual C++ 编写一个相当大的项目,我想知道是否有办法清理当前看起来像这样的错误检查代码:
// A header full of error codes like this
#define NO_ERROR 0x0000
#define CASUAL_ERROR 0x0001
#define ERROR_IN_THE_MATRIX 0x0015
-
// An example source file
int error;
error = openGLObj->Initialize();
if (!(error == NO_ERROR)
return error;
如您所见,当您几乎在每次函数调用之后都必须编写一个错误检查代码时,它会占用大量屏幕空间。
所以我尝试了这样的事情:
// Second example source file
int error;
error = fbxParser->ParseVertexData(...);
if (error)
return error;
它似乎至少在 Visual C++ 中有效,因为如果没有错误,我总是返回 NO_ERROR (int 0),并且任何其他整数似乎都将布尔值设置为 true。
后者是正确的做事方式吗?或者我以后会遇到问题并且必须花费数小时(再次)转换我的 if 语句?