#include #include #include using namespace std; #define ExcLongMessage(a) BuildFLExcMsg(a,__FILE__,__LINE__) inline string BuildFLExcMsg(const char * s, const char *file, int line) { char buff[32]; sprintf(buff," Line=%d", line); string rs=s; rs += " File="; rs += file; rs += buff; return(rs); } class myException { public: myException(const char * s) {_msg= s;} myException(string const & s) {_msg =s; } // ~myExecption() {} string Msg() { return _msg; } private: string _msg; }; class Toto { public: Toto(int n); virtual ~Toto(); inline double Value(int k) { if ((k<0) || (k>=size) ) throw( myException(ExcLongMessage("Toto::Value()-OutOfBound")) ) ; else return(data[k]); } protected: int size; double * data; };