错误类型自定义

原创 2006年05月20日 16:07:00

.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 );

}

MVC自定义路由,实现二级域名类导致的找到多个与名为xxx的控制器匹配的类型的错误

今日在网站错误日志中发现手机站页面访问:http://m.jinrimianshi.com/company/395961 时出现找到多个与名为“company”的控制器匹配的类型。如果为此请求(...
  • sxf359
  • sxf359
  • 2016年12月14日 15:23
  • 818

struts2中怎么覆盖默认错误信息以及两种自定义类型转换器的方法

在实际开发中,覆盖默认错误信息以及自定义类型转换器还是很有必要的的。毕struts是外国人开发的,默认的一些东西都不太合我们的胃口 首先放上的index.jsp页面 ...

SpringMVC 类型转换错误自定义返回

在SpringMVC捕获异常只需要实现接口org.springframework.web.servlet.HandlerExceptionResolver,即可自定义返回异常,如:属性转换异常 ...

JsonDeserializer——Gson自定义解析类型错误的字段

在开发中,定义好实体类和相应字段,Gson就可以很方便地帮助我们实现序列化和反序列化。 可是有时候,后台传给客户端的json数据格式有误,其中的某些字段可能不是合理的类型,即,和我们在实体类中定义的...

[错误记录]C语言自定义类型typedef应用

在windows XP cygwin环境下编译出现了一个问题 下面的代码是一个函数内的代码 { FILE *file; road *newr; cross *newc1, *newc...
  • vmaouns
  • vmaouns
  • 2012年07月19日 19:58
  • 390

Struts 2自定义类型转换与类型转换中的错误处理

0  摘要 1  基于OGNL的自定义类型转换     通过继承OGNL中的DefaultTypeConverter类,并重写其convertValue方法,实现自定义类型转换。我们先看一个示例,然后...
  • chs0113
  • chs0113
  • 2013年10月08日 18:34
  • 720

Android错误引用自定义资源数据类型,造成安装解析产生未知错误

Android 2.3.3 Eclipse Version: 3.7.0 LogCat Console   报错信息: [2012-02-15 10...

Struts2类型转换----常规类型,自定义类型,错误处理

Struts2的类型转换是基于OGNL表达式的.有良好的扩展性. WEB应用接收到表单提交的数据都是String类型的,Struts2可方便的转换为 常规类型(数值,日期) / 自定...

32-35. Struts2_类型转换错误消息的显示和定制&自定义类型转换器&类型转换器与复杂属性&集合协同使用

类型转换错误消息的显示和定制: ConversionActionpackage com.hgh.struts2.conversion;import com.hgh.struts2.pojo.Cust...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:错误类型自定义
举报原因:
原因补充:

(最多只允许输入30个字)