// RANGE.H - RangeError exception class #ifndef RANGE_H #define RANGE_H const unsigned FileNameSize = 40; // Make this >= longest filename on target system. class RangeError { public: RangeError( const char * fname, unsigned line, unsigned subscr ) { strncpy(fileName, fname, FileNameSize); lineNumber = line; value = subscr; } friend ostream & operator <<( ostream & os, const RangeError & R ) { os << "\nRangeError exception thrown: " << R.fileName << ", line " << R.lineNumber << " value = " << R.value << endl; return os; } private: char fileName[FileNameSize+1]; unsigned lineNumber; unsigned value; }; #endif