最近在编写函数过程中,发现函数的返回值是个很重要的参考量,在较大规模的软件工程里面,多个类的使用是必然的,多种类结构的使用会使得工程变得复杂,要是代码运行过程中产生了错误,定位错误也是个很困难的问题。
首先,如果是在类内部的话,我们可以通过在内部函数加入错误码,然后写一个获取错误码的函数。具体使用如下:
class GetError
{
public:
void FunctionA(int a, int b)
{
/*代码片段一*/
m_iErrorCode = 1;
/*代码片段二*/
m_iErrorCode = 2;
/*代码片段三*/
m_iErrorCode = 3;
/*代码片段四*/
m_iErrorCode = 4;
/*代码片段五*/
m_iErrorCode = 5;
}
void FunctionB(int a, int b)
{
/*代码片段一*/
m_iErrorCode = 6;
/*代码片段二*/
m_iErrorCode = 7;
/*代码片段三*/
m_iErrorCode = 8;
}
int GetLastError()
{
return m_iErrorCode;
}
private:
int m_iErrorCode;
};
通过这样的设计,我们就可以知道哪里出了问题,定位到程序的某一个位置。只不过这样拿到的错误码只是数字,在错误码较多的情况下很容易造成混淆,也无法第一时间定位问题。因此我们可以把错误码做成枚举类型的量。如:
typedef enum ErrorCode
{
CALLFUNCTION