PST SDK  6.0.0.0-272350a
TrackerExceptions.h
Go to the documentation of this file.
1 // Copyright PS-Tech B.V. All Rights Reserved.
2 
3 #ifndef TRACKER_EXCEPTIONS_H
4 #define TRACKER_EXCEPTIONS_H
5 
6 #include "PstBase.h"
7 #include <stdexcept>
8 
9 namespace PSTech
10 {
21  {
22  public:
23  explicit PSTException(const char* what);
24  PSTException(const PSTException& other);
25  PSTException(PSTException&& other) noexcept;
26  PSTException(const char* function, int line, const char* what);
27  virtual ~PSTException();
28  virtual const char* what() const;
29  virtual const char* where() const;
30  virtual const char* full_description() const;
32  private:
33  char* m_what;
34  char* m_where;
35  char* m_full;
36  };
37 
41 #define DECLARE_PST_EXCEPTION( child, parent ) \
42  class child : public parent \
43  { \
44  public: \
45  explicit child(const char* what) : parent(what) {} \
46  child(const char* function, int line, const char* what) : parent(function, line, what) {}\
47  }
48 
59 }
60 #endif //TRACKER_EXCEPTIONS_H
Definition: ExportedTypeConversions.h:8
Definition: TrackerExceptions.h:54
Definition: TrackerExceptions.h:57
Definition: TrackerExceptions.h:56
Definition: TrackerExceptions.h:49
char * m_what
Definition: TrackerExceptions.h:33
#define PST_EXPORT
Definition: PstBase.h:12
#define DECLARE_PST_EXCEPTION(child, parent)
Definition: TrackerExceptions.h:41
char * m_where
Definition: TrackerExceptions.h:34
Definition: TrackerExceptions.h:55
Definition: TrackerExceptions.h:58
Definition: TrackerExceptions.h:52
Definition: TrackerExceptions.h:51
char * m_full
Definition: TrackerExceptions.h:35
Definition: TrackerExceptions.h:50
Generic tracker exception.
Definition: TrackerExceptions.h:20
Definition: TrackerExceptions.h:53