nuclear@0: #ifndef _EXCEPTIONS_H_ nuclear@0: #define _EXCEPTIONS_H_ nuclear@0: nuclear@0: #include nuclear@0: nuclear@0: using std::string; nuclear@0: nuclear@0: class EngineBaseException { nuclear@0: protected: nuclear@0: string str; nuclear@0: nuclear@0: public: nuclear@0: nuclear@0: virtual string GetReason() const = 0; nuclear@0: }; nuclear@0: nuclear@0: class EngineInitException : protected EngineBaseException { nuclear@0: public: nuclear@0: EngineInitException(); nuclear@0: EngineInitException(string reason); nuclear@0: nuclear@0: virtual string GetReason() const; nuclear@0: }; nuclear@0: nuclear@0: class EngineModuleNotFoundException : protected EngineBaseException { nuclear@0: public: nuclear@0: EngineModuleNotFoundException(); nuclear@0: EngineModuleNotFoundException(string modulename); nuclear@0: nuclear@0: virtual string GetReason() const; nuclear@0: }; nuclear@0: nuclear@0: class EngineGeneralException : protected EngineBaseException { nuclear@0: public: nuclear@0: EngineGeneralException(); nuclear@0: EngineGeneralException(string reason); nuclear@0: nuclear@0: virtual string GetReason() const; nuclear@0: }; nuclear@0: nuclear@0: #endif // _EXCEPTIONS_H_