vrecko
virtual reality framework
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
lsystemexception.h
Go to the documentation of this file.
1 #ifndef ABSTRACTLSYSTEMEX_H
2 #define ABSTRACTLSYSTEMEX_H
3 
4 #include <exception>
5 #include <string>
6 
7 namespace AP_LSystem {
11 class LSystemException : public std::exception
12 {
13 public:
14  std::string type, message;
15 
16 public:
18  {
19  appendType();
20  }
21 
22  LSystemException( const char * description)
23  {
24  appendType();
25  this->message.append(description);
26  }
27 
28  ~LSystemException() throw() {}
29 
30  virtual const char * what() const throw()
31  {
32  return this->message.c_str();
33  }
34 
35  virtual void appendType()
36  {
37  message = "LSystem: ";
38  }
39 };
40 
45 {
46 public:
48  {
49  appendType();
50  }
51 
52  ParsingException( const char * description )
53  {
54  appendType();
55  this->message.append(description);
56  }
57 
58  ParsingException( std::string description )
59  {
60  appendType();
61  this->message.append(description);
62  }
63 
64  virtual void appendType()
65  {
66  this->message.append( "parsing error: " );
67  }
68 };
69 
74 {
75 public:
77  {
78  appendType();
79  }
80 
81  FileException( const char * description)
82  {
83  appendType();
84  this->message.append(description);
85  }
86 
87  FileException( std::string description)
88  {
89  appendType();
90  this->message.append(description);
91  }
92 
93  virtual void appendType()
94  {
95  type.append( "file i/o error: " );
96  }
97 };
98 
103 {
104 public:
106  {
107  appendType();
108  }
109 
110  ConfigurationException( const char * description)
111  {
112  appendType();
113  this->message.append(description);
114  }
115 
116  ConfigurationException( std::string description)
117  {
118  appendType();
119  this->message.append(description);
120  }
121 
122  virtual void appendType()
123  {
124  type.append( "Configuration error: " );
125  }
126 };
127 }
128 
129 #endif // ABSTRACTLSYSTEMEX_H