absence_thelab

view src/3deng/exceptions.h @ 0:1cffe3409164

initial commit
author John Tsiombikas <nuclear@member.fsf.org>
date Thu, 23 Oct 2014 01:46:07 +0300
parents
children
line source
1 #ifndef _EXCEPTIONS_H_
2 #define _EXCEPTIONS_H_
4 #include <string>
6 using std::string;
8 class EngineBaseException {
9 protected:
10 string str;
12 public:
14 virtual string GetReason() const = 0;
15 };
17 class EngineInitException : protected EngineBaseException {
18 public:
19 EngineInitException();
20 EngineInitException(string reason);
22 virtual string GetReason() const;
23 };
25 class EngineModuleNotFoundException : protected EngineBaseException {
26 public:
27 EngineModuleNotFoundException();
28 EngineModuleNotFoundException(string modulename);
30 virtual string GetReason() const;
31 };
33 class EngineGeneralException : protected EngineBaseException {
34 public:
35 EngineGeneralException();
36 EngineGeneralException(string reason);
38 virtual string GetReason() const;
39 };
41 #endif // _EXCEPTIONS_H_