4
// $Id: //poco/1.2/CppUnit/include/CppUnit/CppUnitException.h#1 $
8
#ifndef CppUnit_CppUnitException_INCLUDED
9
#define CppUnit_CppUnitException_INCLUDED
12
#include "CppUnit/CppUnit.h"
20
class CppUnit_API CppUnitException: public std::exception
21
/// CppUnitException is an exception that serves
22
/// descriptive strings through its what() method
25
CppUnitException(const std::string& message = "",
26
long lineNumber = CPPUNIT_UNKNOWNLINENUMBER,
27
const std::string& fileName = CPPUNIT_UNKNOWNFILENAME);
28
CppUnitException(const std::string& message,
31
const std::string& fileName);
32
CppUnitException(const std::string& message,
36
const std::string& fileName);
37
CppUnitException(const CppUnitException& other);
38
virtual ~CppUnitException() throw();
40
CppUnitException& operator = (const CppUnitException& other);
42
const char* what() const throw ();
44
long lineNumber() const;
45
long data1LineNumber() const;
46
long data2LineNumber() const;
47
const std::string& fileName() const;
49
static const std::string CPPUNIT_UNKNOWNFILENAME;
50
static const int CPPUNIT_UNKNOWNLINENUMBER;
55
long _data1lineNumber;
56
long _data2lineNumber;
57
std::string _fileName;
61
inline CppUnitException::CppUnitException(const CppUnitException& other): exception (other)
63
_message = other._message;
64
_lineNumber = other._lineNumber;
65
_data1lineNumber = other._data1lineNumber;
66
_data2lineNumber = other._data2lineNumber;
67
_fileName = other._fileName;
71
inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName)
76
inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(CPPUNIT_UNKNOWNLINENUMBER), _fileName(fileName)
81
inline CppUnitException::CppUnitException (const std::string& message, long lineNumber, long data1lineNumber, long data2lineNumber, const std::string& fileName): _message(message), _lineNumber(lineNumber), _data1lineNumber(data1lineNumber), _data2lineNumber(data2lineNumber), _fileName(fileName)
86
inline CppUnitException::~CppUnitException () throw()
91
inline CppUnitException& CppUnitException::operator = (const CppUnitException& other)
93
exception::operator= (other);
97
_message = other._message;
98
_lineNumber = other._lineNumber;
99
_data1lineNumber = other._data1lineNumber;
100
_data2lineNumber = other._data2lineNumber;
101
_fileName = other._fileName;
107
inline const char* CppUnitException::what() const throw ()
109
return _message.c_str();
113
inline long CppUnitException::lineNumber() const
119
inline long CppUnitException::data1LineNumber() const
121
return _data1lineNumber;
125
inline long CppUnitException::data2LineNumber() const
127
return _data2lineNumber;
131
// The file in which the error occurred
132
inline const std::string& CppUnitException::fileName() const
138
} // namespace CppUnit
141
#endif // CppUnit_CppUnitException_INCLUDED