xerror.h
来自「《C++编程指南(续编)》的一些程序源代码」· C头文件 代码 · 共 69 行
H
69 行
#include "student.h"
#ifndef XERROR_
#define XERROR_
#include <string.h>
class XError
{
public:
XError(const char * pszLocation,
const char * pszReason):
sReason(pszReason),sLocation(pszLocation)
{
}
virtual void display(ostream& out)const;
protected:
const string sReason;
const string sLocation;
};
class XInvalidStudent:public XError
{
public:
XInvalidStudent(const Student * pS,
const char * pszReason):
XError("Student::isLegal",pszReason),
pStudent(pS)
{
}
virtual void display(ostream& out)const;
protected:
const Student * pStudent;
};
class XFileError:public XError
{
public:
enum ErrCode
{
GENERIC_FILE_ERR,
FILE_NOT_FOUND,
FILE_CREATE_ERROR,
FILE_READ_ERROR,
FILE_WRITE_ERROR
};
XFileError(const char * pszLocation,
const char * pszFileName,
const char * pszReason,
const ErrCode ec):
XError(pszLocation,pszReason),
sFileName(pszFileName)
{
error=ec;
}
virtual void display(ostream& )const;
ErrCode errcode()
{
return error;
}
protected:
string sFileName;
ErrCode error;
};
#endif
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?