Machine Learning Library
DatabaseException.h
Go to the documentation of this file.
1 #ifndef __DATABASE_EXCEPTION_H
2 #define __DATABASE_EXCEPTION_H
3 
4 #include <string>
5 #include <iostream>
6 
7 
9 {
10 private:
11  std::string msg;
12  std::string file;
13  int line;
14 
15 public:
16  CDatabaseException(const char* msg, const char* file, int line) :
17  msg(msg), file(file), line(line) {
18  }
19  virtual ~CDatabaseException() {};
20 
21  virtual const std::string getMessage() const {
22  return msg;
23  }
24  const std::string getSourcefile() const {
25  return file;
26  }
27  int getSourceline() const {
28  return line;
29  }
30 };
31 
32 inline std::ostream& operator<< (std::ostream& s, const CDatabaseException& ex)
33 {
34  s << "CDatabaseException[msg=" << ex.getMessage()
35  << ", file=" << ex.getSourcefile()
36  << ":" << ex.getSourceline()
37  << "]\n";
38  return s;
39 }
40 
41 #endif
Definition: DatabaseException.h:8
CDatabaseException(const char *msg, const char *file, int line)
Definition: DatabaseException.h:16
const std::string getSourcefile() const
Definition: DatabaseException.h:24
std::ostream & operator<<(std::ostream &s, const CDatabaseException &ex)
Definition: DatabaseException.h:32
int getSourceline() const
Definition: DatabaseException.h:27
virtual const std::string getMessage() const
Definition: DatabaseException.h:21
virtual ~CDatabaseException()
Definition: DatabaseException.h:19