很多程序库对外提供若干类,每个方法出错时如何告知调用者是否出错,以及出错码(在Linux上在error.h中的全局errno就是保存我们Linux程序执行的出错码的)?方法很多,为了简化起见,函数将返回一个对象,该对象保存了函数的返回值和出错码。
/*
* CLStatus.h
*
* Author: lilin
* email: lilin@uestc.edu.cn
*/
#ifndef CLSTATUS_H
#define CLSTATUS_H
//用于保存函数的处理结果
class CLStatus
{
public:
/*
lReturnCode >=0表示成功,否则失败
*/
CLStatus(long lReturnCode, long lErrorCode);
CLStatus(const CLStatus& s);
virtual ~CLStatus();
public:
bool IsSuccess();
public:
/*通过这样可以是m_lErrorCode和m_lReturnCode做为public
成员隐藏了写,但可以公开了读*/
const long& m_clReturnCode;
const long& m_clErrorCode;
private:
//返回值
long m_lReturnCode;
//出错码
long m_lErrorCode;
};
#endif
#include "CLStatus.h"
CLStatus::CLStatus(long lReturnCode, long lErrorCode) : m_clReturnCode(m_lReturnCode), m_clErrorCode(m_lErrorCode)
{
m_lReturnCode = lReturn

本文探讨了在Linux环境下,如何通过CLStatus对象来封装函数的返回值和错误码,以高效且具移植性的方式进行出错处理。讨论了函数返回对象时,默认拷贝构造函数的应用,以及推荐的代码编写规范。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



