summaryrefslogtreecommitdiff
path: root/src/cppunit/Exception.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/cppunit/Exception.cpp')
-rw-r--r--src/cppunit/Exception.cpp62
1 files changed, 62 insertions, 0 deletions
diff --git a/src/cppunit/Exception.cpp b/src/cppunit/Exception.cpp
new file mode 100644
index 0000000..51835ad
--- /dev/null
+++ b/src/cppunit/Exception.cpp
@@ -0,0 +1,62 @@
+#include "cppunit/Exception.h"
+
+namespace CppUnit {
+
+const std::string
+CppUnit::Exception::UNKNOWNFILENAME =
+ "<unknown>";
+const int CppUnit::Exception::UNKNOWNLINENUMBER = -1;
+
+/// Construct the exception
+CppUnit::Exception::Exception (const Exception& other)
+ : exception (other)
+{
+ m_message = other.m_message;
+ m_lineNumber = other.m_lineNumber;
+ m_fileName = other.m_fileName;
+}
+
+CppUnit::Exception::Exception (std::string message, long lineNumber, std::string fileName)
+ : m_message (message), m_lineNumber (lineNumber), m_fileName (fileName)
+{
+}
+
+
+/// Destruct the exception
+CppUnit::Exception::~Exception ()
+{}
+
+
+/// Perform an assignment
+Exception&
+CppUnit::Exception::operator= (const Exception& other)
+{
+ exception::operator= (other);
+
+ if (&other != this) {
+ m_message = other.m_message;
+ m_lineNumber = other.m_lineNumber;
+ m_fileName = other.m_fileName;
+ }
+
+ return *this;
+}
+
+
+/// Return descriptive message
+const char*
+CppUnit::Exception::what() const throw ()
+{ return m_message.c_str (); }
+
+/// The line on which the error occurred
+long
+CppUnit::Exception::lineNumber ()
+{ return m_lineNumber; }
+
+
+/// The file in which the error occurred
+std::string
+CppUnit::Exception::fileName ()
+{ return m_fileName; }
+
+} // namespace CppUnit