00001 /* === S Y N F I G ========================================================= */ 00021 /* ========================================================================= */ 00022 00023 /* === S T A R T =========================================================== */ 00024 00025 #ifndef __SYNFIG_EXCEPTION_H 00026 #define __SYNFIG_EXCEPTION_H 00027 00028 /* === H E A D E R S ======================================================= */ 00029 00030 #include <stdexcept> 00031 #include "string_decl.h" 00032 00033 /* === M A C R O S ========================================================= */ 00034 00035 /* === T Y P E D E F S ===================================================== */ 00036 00037 /* === C L A S S E S & S T R U C T S ======================================= */ 00038 00039 namespace synfig { 00040 00041 namespace Exception { 00042 00043 class BadLinkName : public std::runtime_error 00044 { 00045 public: 00046 BadLinkName(const String &what); 00047 }; // END of class BadLinkName 00048 00049 class BadType : public std::runtime_error 00050 { 00051 public: 00052 BadType(const String &what); 00053 }; // END of class BadType 00054 00055 class IDAlreadyExists : public std::runtime_error 00056 { 00057 public: 00058 IDAlreadyExists(const String &what); 00059 }; 00060 00061 class NotFound : public std::runtime_error 00062 { 00063 public: 00064 NotFound(const String &what); 00065 }; 00066 00067 class IDNotFound : public NotFound 00068 { 00069 public: 00070 IDNotFound(const String &what); 00071 }; 00072 00073 class FileNotFound : public NotFound 00074 { 00075 public: 00076 FileNotFound(const String &what); 00077 }; 00078 00079 class BadTime : public std::runtime_error 00080 { 00081 public: 00082 BadTime(const String &what); 00083 }; 00084 00085 class BadFrameRate : public std::runtime_error 00086 { 00087 public: 00088 BadFrameRate(const String &what); 00089 }; 00090 00091 }; // END of namespace Exception 00092 00093 }; // END of namespace synfig 00094 00095 /* === E N D =============================================================== */ 00096 00097 #endif