00001
00002
00004
00005 #ifdef WIN32
00006 #pragma warning(disable:4786)
00007 #endif
00008 #include "SquareRootException.h"
00009
00011
00013
00015 SquareRootException::SquareRootException() throw()
00016 {
00017
00018 }
00019
00021 SquareRootException::~SquareRootException() throw()
00022 {
00023
00024 }
00025
00029 SquareRootException::SquareRootException(std::string sElementName,double dValue) throw() : _sElementName(sElementName),_dValue(dValue)
00030 {
00031 setType("SquareRootException");
00032 setLineNumber(0);
00033 setFileName("");
00034
00035 setDescription(makeDescription());
00036 setReason(makeReason());
00037 setOrigin("");
00038
00039 }
00040
00041
00048 SquareRootException::SquareRootException(std::string sElementName,double dValue,std::string sOrigin,std::string sFilename,unsigned int iLineNumber) throw() : _sElementName(sElementName),_dValue(dValue)
00049 {
00050 setType("SquareRootException");
00051 setLineNumber(iLineNumber);
00052 setFileName(sFilename);
00053
00054 setDescription(makeDescription());
00055 setReason(makeReason());
00056 setOrigin(makeOrigin(sOrigin));
00057 }
00058
00059
00061 std::string SquareRootException::makeDescription()
00062 {
00063 std::string sExceptionMessage = "The value ";
00064 sExceptionMessage += dtos(_dValue);
00065 sExceptionMessage += " of the ";
00066 sExceptionMessage += _sElementName;
00067 sExceptionMessage += " variable must be positive";
00068 return sExceptionMessage;
00069 }
00070
00072 std::string SquareRootException::makeReason()
00073 {
00074 std::string sReasonMessage = "DATA_OUT_OF_RANGE --> ";
00075 sReasonMessage+= getType();
00076
00077 return sReasonMessage;
00078 }
00079
00081 std::string SquareRootException::makeOrigin(std::string sOrigin)
00082 {
00083 std::string sOriginMessage = getFileName();
00084 sOriginMessage+= " (l:";
00085 sOriginMessage+= ltos(getLineNumber());
00086 sOriginMessage+= ") ";
00087 sOriginMessage+= sOrigin;
00088
00089 return sOriginMessage;
00090 }