错误类型自定义
来源:互联网 发布:证券开户 知乎 编辑:程序博客网 时间:2024/05/29 08:36
.h文件
#pragma once
#include <string>
#include <stdexcept>
class ArdError : public std::logic_error
{
public:
enum ARD_ERROR_TYPE {
FILE_OPEN_FAILURE,
FILE_READ_FAILURE,
};
ArdError(const char * errMsg);
ArdError(std::string errMsg);
ArdError(ARD_ERROR_TYPE errType);
ArdError(ARD_ERROR_TYPE errType, exception* e);
~ArdError(void);
ARD_ERROR_TYPE GetErrorType(void) { return _errorType; }
private:
ARD_ERROR_TYPE _errorType;
exception* _exception;
inline const char * getErrMsg(ARD_ERROR_TYPE errType);
};
.cpp文件
#include "./ArdError.h"
static const char * ERROR_MESSAGE[] = {
"open file fail, please check file path and file permission",
"read file fail, please check file path and file permission"
};
ArdError::ArdError(const char * errMsg)
: logic_error(errMsg), _errorType(COMMON), _exception(NULL)
{
}
ArdError::ArdError(std::string errMsg)
: logic_error(errMsg.c_str()), _errorType(COMMON), _exception(NULL)
{
}
ArdError::ArdError(ARD_ERROR_TYPE errType)
: logic_error(ERROR_MESSAGE[errType]), _errorType(errType), _exception(NULL)
{
}
ArdError::ArdError(ARD_ERROR_TYPE errType, exception* e)
: logic_error(ERROR_MESSAGE[errType]), _errorType(errType), _exception(e)
{
}
ArdError::~ArdError(void)
{
}
inline const char * ArdError::getErrMsg(ARD_ERROR_TYPE errType) {
return ERROR_MESSAGE[errType];
}
应用例子:
try {
CsvFile::ReadCsvAttData(filename, spShpCon);
}
catch(ArdError &e)
{
if(e.GetErrorType() == ArdError::FILE_OPEN_FAILURE );
}
- 错误类型自定义
- Go语言自定义错误类型
- Struts2类型转换----常规类型,自定义类型,错误处理
- Struts2类型转换(一)----常规类型,自定义类型,错误处理
- struts2自定义类型转换错误的消息
- Node.js下自定义错误类型
- 基于springmvc的自定义错误类型
- SpringMVC 类型转换错误自定义返回
- Node.js下如何自定义错误类型
- 3 Struts2类型转换(一)----常规类型,自定义类型,错误处理
- [错误记录]C语言自定义类型typedef应用
- 【VBA研究】VBA自定义函数参数类型不符的错误
- struts2错误消息定制和自定义类型转换
- JsonDeserializer——Gson自定义解析类型错误的字段
- android自定义Application类类型转换异常错误
- Struts 2自定义类型转换与类型转换中的错误处理
- 自定义类型转换器解决Spring配置文件注入类型错误的问题 PropertyEditorSupport
- 自定义类型
- 高手喜欢用的键
- 设计师与妓女
- CComboBoxEx显示256色图片
- Button显示颜色
- 解决不能上Google的一些方法
- 错误类型自定义
- 电子邮件中的字符串
- asp事务处理
- 老子, 「道德经」
- 文件读写
- Linux-gate.so.1的含义?(What is linux-gate.so.1)
- 在这里安个家咯
- 动画调整
- 引子