00001 /* 00002 * $Id: $ 00003 * 00004 * Description : Exception for scripting 00005 * Author : Jakub Zelenka <jakub.zelenka@gmail.com> 00006 * 00007 * Purpose : 00008 * ScriptException defines exception class 00009 */ 00010 00011 00012 #ifndef __SCRIPTEXCEPTION_H_ 00013 #define __SCRIPTEXCEPTION_H_ 00014 00015 #include <string> 00016 #include <exception> 00017 00018 namespace VRUT 00019 { 00021 class ScriptException : public std::exception 00022 { 00023 private: 00024 std::string description; 00025 public: 00026 ScriptException(const char *desc = "<no description>") 00027 : std::exception(), description(desc) {} 00028 ScriptException(std::string & desc) 00029 : std::exception(), description(desc) {} 00030 virtual ~ScriptException() throw() {} 00031 const char * what() const throw() 00032 { 00033 return description.c_str(); 00034 } 00035 }; 00036 00037 class SceneScriptException : public ScriptException 00038 { 00039 public: 00040 SceneScriptException() : ScriptException("Scene was probably deleted") {} 00041 }; 00042 00043 class NodeScriptException : public ScriptException 00044 { 00045 public: 00046 NodeScriptException() : ScriptException("Node was probably deleted") {} 00047 }; 00048 } 00049 00050 #endif /* __SCRIPTEXCEPTION_H_ */
1.5.5