summaryrefslogtreecommitdiff
path: root/src/cppunit/Exception.cpp
blob: 51835addbe8aa23cbd740519af5229924519df94 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
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