00001
00002
00004
00005 #if !defined(AFX_EXCEPTION_H__7BB2B20F_0FAE_4A97_8C6A_BBC8F4F57301__INCLUDED_)
00006 #define AFX_EXCEPTION_H__7BB2B20F_0FAE_4A97_8C6A_BBC8F4F57301__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include <exception>
00013 #include <string>
00014
00015
00016 #include "Tools.h"
00017
00019
00020 class Exception : public std::exception
00021 {
00022 public:
00023
00024 Exception() throw();
00025
00026 virtual ~Exception() throw();
00027
00028
00029 virtual std::string makeDescription()=0;
00030
00031 virtual std::string makeReason()=0;
00032
00033 virtual std::string makeOrigin(std::string sOrigin)=0;
00034
00035
00036 virtual std::string getReason();
00037
00038 virtual std::string getDescription();
00039
00040 virtual std::string getOrigin();
00041
00042 virtual unsigned int getLineNumber();
00043
00044 virtual std::string getFileName();
00045
00046 virtual std::string getType();
00047
00048
00049 virtual void setReason(std::string sReason);
00050
00051 virtual void setDescription(std::string sDescription);
00052
00053 virtual void setOrigin(std::string sOrigin);
00054
00055 virtual void setLineNumber(unsigned int iLineNumber);
00056
00057 virtual void setFileName(std::string sFileName);
00058
00059 virtual void setType(std::string sType);
00060
00061 private:
00062
00063
00064 std::string _sReason;
00065
00066 std::string _sDescription;
00067
00068 std::string _sOrigin;
00069
00070 std::string _sType;
00071
00072 unsigned int _iLineNumber;
00073
00074 std::string _sFileName;
00075 };
00076
00077 #endif // !defined(AFX_EXCEPTION_H__7BB2B20F_0FAE_4A97_8C6A_BBC8F4F57301__INCLUDED_)