00001
00002
00004
00005 #ifdef WIN32
00006 #pragma warning(disable:4786)
00007 #endif
00008 #include "ParseException.h"
00009
00011
00013
00015
00016 ParseException::ParseException() throw()
00017 {
00018
00019 }
00021
00022 ParseException::~ParseException() throw()
00023 {
00024
00025 }
00026
00027
00030
00031 ParseException::ParseException(std::string sElementName) throw() : _sElementName(sElementName)
00032 {
00033 setType("NullPointerException");
00034 setLineNumber(0);
00035 setFileName("");
00036
00037 setDescription(makeDescription());
00038 setReason(makeReason());
00039 setOrigin("");
00040
00041 }
00042
00048
00049 ParseException::ParseException(std::string sElementName,std::string sOrigin,std::string sFileName,unsigned int iLineNumber) throw() : _sElementName(sElementName)
00050 {
00051 setType("ParseException");
00052 setLineNumber(iLineNumber);
00053 setFileName(sFileName);
00054
00055 setDescription(makeDescription());
00056 setReason(makeReason());
00057 setOrigin(makeOrigin(sOrigin));
00058 }
00059
00060
00062
00063 std::string ParseException::makeDescription()
00064 {
00065 std::string sExceptionMessage = "The parsing of ";
00066 sExceptionMessage+= _sElementName;
00067 sExceptionMessage+= " encountered an problem !!!";
00068 return sExceptionMessage;
00069 }
00070
00071
00073
00074 std::string ParseException::makeReason()
00075 {
00076 std::string sReasonMessage = "FILE_READ_ERROR --> ";
00077 sReasonMessage+= getType();
00078
00079 return sReasonMessage;
00080 }
00081
00083
00084 std::string ParseException::makeOrigin(std::string sOrigin)
00085 {
00086 std::string sOriginMessage = getFileName();
00087 sOriginMessage+= " (l:";
00088 sOriginMessage+= ltos(getLineNumber());
00089 sOriginMessage+= ") ";
00090 sOriginMessage+= sOrigin;
00091
00092 return sOriginMessage;
00093 }