]> Dogcows Code - chaz/yoink/blobdiff - src/stlplus/persistence/persistent_exceptions.hpp
testing new non-autotools build system
[chaz/yoink] / src / stlplus / persistence / persistent_exceptions.hpp
diff --git a/src/stlplus/persistence/persistent_exceptions.hpp b/src/stlplus/persistence/persistent_exceptions.hpp
new file mode 100644 (file)
index 0000000..2e2a861
--- /dev/null
@@ -0,0 +1,53 @@
+#ifndef STLPLUS_PERSISTENT_EXCEPTIONS\r
+#define STLPLUS_PERSISTENT_EXCEPTIONS\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+//   Author:    Andy Rushton\r
+//   Copyright: (c) Southampton University 1999-2004\r
+//              (c) Andy Rushton           2004-2009\r
+//   License:   BSD License, see ../docs/license.html\r
+\r
+//   Exceptions thrown by persistence routines\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+#include "persistence_fixes.hpp"\r
+#include <stdexcept>\r
+#include <string>\r
+\r
+////////////////////////////////////////////////////////////////////////////////\r
+\r
+namespace stlplus\r
+{\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+\r
+  // exception thrown if you try to dump or restore an illegal polymorphic type\r
+  class persistent_illegal_type : public std::logic_error\r
+  {\r
+  public:\r
+    persistent_illegal_type(const std::string& type) throw();\r
+    persistent_illegal_type(unsigned key) throw();\r
+    ~persistent_illegal_type(void) throw();\r
+  };\r
+\r
+  // exception thrown if a dump fails for any reason - but typically because the output stream couldn't take the data\r
+  class persistent_dump_failed : public std::runtime_error\r
+  {\r
+  public:\r
+    persistent_dump_failed(const std::string& message) throw();\r
+    ~persistent_dump_failed(void) throw();\r
+  };\r
+\r
+  // exception thrown if you try to restore from an out of date or unrecognised byte stream\r
+  class persistent_restore_failed : public std::runtime_error\r
+  {\r
+  public:\r
+    persistent_restore_failed(const std::string& message) throw();\r
+    ~persistent_restore_failed(void) throw();\r
+  };\r
+\r
+  ////////////////////////////////////////////////////////////////////////////////\r
+\r
+} // end namespace stlplus\r
+\r
+#endif\r
This page took 0.021446 seconds and 4 git commands to generate.