absence_thelab

annotate 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
rev   line source
nuclear@0 1 #ifndef _EXCEPTIONS_H_
nuclear@0 2 #define _EXCEPTIONS_H_
nuclear@0 3
nuclear@0 4 #include <string>
nuclear@0 5
nuclear@0 6 using std::string;
nuclear@0 7
nuclear@0 8 class EngineBaseException {
nuclear@0 9 protected:
nuclear@0 10 string str;
nuclear@0 11
nuclear@0 12 public:
nuclear@0 13
nuclear@0 14 virtual string GetReason() const = 0;
nuclear@0 15 };
nuclear@0 16
nuclear@0 17 class EngineInitException : protected EngineBaseException {
nuclear@0 18 public:
nuclear@0 19 EngineInitException();
nuclear@0 20 EngineInitException(string reason);
nuclear@0 21
nuclear@0 22 virtual string GetReason() const;
nuclear@0 23 };
nuclear@0 24
nuclear@0 25 class EngineModuleNotFoundException : protected EngineBaseException {
nuclear@0 26 public:
nuclear@0 27 EngineModuleNotFoundException();
nuclear@0 28 EngineModuleNotFoundException(string modulename);
nuclear@0 29
nuclear@0 30 virtual string GetReason() const;
nuclear@0 31 };
nuclear@0 32
nuclear@0 33 class EngineGeneralException : protected EngineBaseException {
nuclear@0 34 public:
nuclear@0 35 EngineGeneralException();
nuclear@0 36 EngineGeneralException(string reason);
nuclear@0 37
nuclear@0 38 virtual string GetReason() const;
nuclear@0 39 };
nuclear@0 40
nuclear@0 41 #endif // _EXCEPTIONS_H_