Canorus  0.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
RtError.h
Go to the documentation of this file.
1 /************************************************************************/
10 /************************************************************************/
11 
12 #ifndef RTERROR_H
13 #define RTERROR_H
14 
15 #include <iostream>
16 #include <string>
17 
18 class RtError
19 {
20 public:
22  enum Type {
34  };
35 
36 protected:
37  std::string message_;
39 
40 public:
42  RtError(const std::string& message, Type type = RtError::UNSPECIFIED) : message_(message), type_(type) {}
43 
45  virtual ~RtError(void) {};
46 
48  virtual void printMessage(void) { std::cerr << '\n' << message_ << "\n\n"; }
49 
51  virtual const Type& getType(void) { return type_; }
52 
54  virtual const std::string& getMessage(void) { return message_; }
55 
57  virtual const char *getMessageString(void) { return message_.c_str(); }
58 };
59 
60 #endif