错误类型自定义

原创 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 );

}

PHP自定义错误处理器处理出错信息

如果您是PHP老手,当然知道当PHP脚本出错时发生了什么事情。此时PHP解析器将在屏幕上给出错误信息,如 Fatal error: Call to undefined function on line...
  • farflight
  • farflight
  • 2007年05月01日 00:39
  • 1719

Go语言自定义错误类型

Go里面的接口属于比较难理解的概念,通过它独特的错误处理方式可以帮助学习接口。 Go的错误类型使用error类型,它其实就是一个实现了Error()函数的接口: type error interf...
  • u011575841
  • u011575841
  • 2017年08月15日 17:39
  • 82

VS2013创建自定义向导出错解决方案

创建自定义向导时出错:将对应路经下的readme.txt中的"修改为”
  • IvanLJF
  • IvanLJF
  • 2016年07月17日 19:58
  • 713

Node.js下如何自定义错误类型

Node.js下如何自定义错误类型 前言 一般来说,很少人会考虑如何处理应用产生的错误的策略,调试的过程中,简单地利用console.log(‘error')定位错误,基本够用了,通过留下...
  • gvwxguzy
  • gvwxguzy
  • 2016年11月26日 11:24
  • 140

基于springmvc的自定义错误类型

public class LoginHandlerExceptionResolver implements HandlerExceptionResolver {  @Override  publi...
  • sunkiha
  • sunkiha
  • 2014年11月04日 14:34
  • 457

C++自定义异常类

1.C++程序中处理异常或者错误,可以使用异常机制,异常处理的结构为: try { //可能引发异常的代码 } catch( type e) { //异常处理 } catch(…) //省略号代表可以...
  • u011608357
  • u011608357
  • 2014年03月22日 22:36
  • 2670

Python语言常见异常错误类型详解

在运行或编写一个程序时常会遇到错误异常,这时python会给你一个错误提示类名,告诉出现了什么样的问题(Python是面向对象语言,所以程序抛出的异常也是类)。能很好的理解这些错误提示类名所代表的意思...
  • v_solution
  • v_solution
  • 2017年06月17日 08:00
  • 652

python常见错误类型

Python标准异常总结
  • A_lPha
  • A_lPha
  • 2016年12月22日 10:40
  • 2038

错误类型

误操作: #include int main() {     int  *p;     *p = 1;     printf("%d-->%p",*p,p);      return 0; } 改正...
  • ZHANG_kang
  • ZHANG_kang
  • 2016年11月01日 20:57
  • 135

探索:测试 Swift 中的 ErrorType

原文链接:Testing Swift’s ErrorType: An Exploration 译者:mmoaay 在本篇中,我们对 Swift 新错误类型的本质进行探究,观察并测试错误处理实现的...
  • mmoaay
  • mmoaay
  • 2015年09月10日 06:26
  • 4985
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:错误类型自定义
举报原因:
原因补充:

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