Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages  

Exceptions.h

Go to the documentation of this file.
00001 
00036 #include <fstream>
00037 
00038 class ExceptionInfo
00039 {
00040 public:
00041         const char* m_szText;
00042         const char* m_szFileName;
00043         int                     m_nLine;
00044 
00045         ExceptionInfo()
00046         {
00047                 m_szText = "Default exception message.";
00048                 m_nLine = 0;
00049                 m_szFileName = "";
00050         }
00051 
00052         ExceptionInfo(const char* szText, const char* szFileName, int nLine)
00053         {
00054                 m_szText = szText;
00055                 m_szFileName = szFileName;
00056                 m_nLine = nLine;
00057         }
00058 
00059         ExceptionInfo(const ExceptionInfo& e)
00060         {
00061                 *this = e;
00062         }
00063 
00064         ExceptionInfo& operator=(const ExceptionInfo& e)
00065         {
00066                 m_szText = e.m_szText;
00067                 m_szFileName = e.m_szFileName;
00068                 m_nLine = e.m_nLine;
00069 
00070                 return *this;
00071         }
00072 
00073         void Print(ostream& os = cerr)
00074         {
00075                 os << "\n\nException occurred at line " << m_nLine << " in " << m_szFileName 
00076                         << ": " << m_szText << endl << endl;
00077         }
00078 };
00079 
00080 
00081 #define THROW_EXCEPTION(A) throw ExceptionInfo(A, __FILE__, __LINE__)

Generated on Sat Nov 13 11:21:23 2004 for Noisy DAG Matcher by doxygen1.2.18