Exception.h revision 10447
110447Snilay@cs.wisc.edu#ifndef __EXCEPTION_H__ 210447Snilay@cs.wisc.edu#define __EXCEPTION_H__ 310447Snilay@cs.wisc.edu 410447Snilay@cs.wisc.edu#include <exception> 510447Snilay@cs.wisc.edu 610447Snilay@cs.wisc.edu#include "String.h" 710447Snilay@cs.wisc.edu 810447Snilay@cs.wisc.edunamespace LibUtil 910447Snilay@cs.wisc.edu{ 1010447Snilay@cs.wisc.edu using std::exception; 1110447Snilay@cs.wisc.edu 1210447Snilay@cs.wisc.edu // Exception class handles the all exception messages in the program 1310447Snilay@cs.wisc.edu class Exception : public exception 1410447Snilay@cs.wisc.edu { 1510447Snilay@cs.wisc.edu public: 1610447Snilay@cs.wisc.edu // All constructors/destructors/functions in this class don't throw any events 1710447Snilay@cs.wisc.edu Exception(const String& exception_msg_) throw(); 1810447Snilay@cs.wisc.edu ~Exception() throw(); 1910447Snilay@cs.wisc.edu 2010447Snilay@cs.wisc.edu // Derived from std::exception class that returns a null-terminated char string 2110447Snilay@cs.wisc.edu const char* what() const throw(); 2210447Snilay@cs.wisc.edu 2310447Snilay@cs.wisc.edu private: 2410447Snilay@cs.wisc.edu String mExceptionMsg; 2510447Snilay@cs.wisc.edu }; 2610447Snilay@cs.wisc.edu} 2710447Snilay@cs.wisc.edu 2810447Snilay@cs.wisc.edu#endif // __EXCEPTION_H__ 2910447Snilay@cs.wisc.edu 30