CppUnit project page FAQ CppUnit home page

Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

Exception.h

Go to the documentation of this file.
00001 #ifndef CPPUNIT_EXCEPTION_H 00002 #define CPPUNIT_EXCEPTION_H 00003 00004 #include <cppunit/Portability.h> 00005 #include <cppunit/Message.h> 00006 #include <cppunit/SourceLine.h> 00007 #include <exception> 00008 00009 00010 CPPUNIT_NS_BEGIN 00011 00012 00019 class CPPUNIT_API Exception : public std::exception 00020 { 00021 public: 00026 Exception( const Message &message = Message(), 00027 const SourceLine &sourceLine = SourceLine() ); 00028 00029 #ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED 00030 00033 Exception( std::string message, 00034 long lineNumber, 00035 std::string fileName ); 00036 #endif 00037 00041 Exception( const Exception &other ); 00042 00044 virtual ~Exception() throw(); 00045 00047 Exception &operator =( const Exception &other ); 00048 00050 const char *what() const throw(); 00051 00053 SourceLine sourceLine() const; 00054 00056 Message message() const; 00057 00059 void setMessage( const Message &message ); 00060 00061 #ifdef CPPUNIT_ENABLE_SOURCELINE_DEPRECATED 00062 00063 long lineNumber() const; 00064 00066 std::string fileName() const; 00067 00068 static const std::string UNKNOWNFILENAME; 00069 static const long UNKNOWNLINENUMBER; 00070 #endif 00071 00073 virtual Exception *clone() const; 00074 00075 protected: 00076 // VC++ does not recognize call to parent class when prefixed 00077 // with a namespace. This is a workaround. 00078 typedef std::exception SuperClass; 00079 00080 Message m_message; 00081 SourceLine m_sourceLine; 00082 std::string m_whatMessage; 00083 }; 00084 00085 00086 CPPUNIT_NS_END 00087 00088 00089 #endif // CPPUNIT_EXCEPTION_H 00090

SourceForge Logo hosts this site. Send comments to:
CppUnit Developers