summaryrefslogtreecommitdiff
path: root/shell/source/all/zipfile/zipexcptn.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'shell/source/all/zipfile/zipexcptn.hxx')
-rw-r--r--shell/source/all/zipfile/zipexcptn.hxx78
1 files changed, 78 insertions, 0 deletions
diff --git a/shell/source/all/zipfile/zipexcptn.hxx b/shell/source/all/zipfile/zipexcptn.hxx
new file mode 100644
index 000000000000..b98dc6df594f
--- /dev/null
+++ b/shell/source/all/zipfile/zipexcptn.hxx
@@ -0,0 +1,78 @@
+// ZipException.h: interface for the ZipException class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#ifndef ZIPEXCPTN_HXX_INCLUDED
+#define ZIPEXCPTN_HXX_INCLUDED
+
+#include <stdexcept>
+
+//------------------------------------------
+/**
+*/
+class RuntimeException : public std::exception
+{
+public:
+ RuntimeException(int Error);
+ virtual ~RuntimeException() throw();
+
+ int GetErrorCode() const;
+
+private:
+ int m_Error;
+};
+
+//------------------------------------------
+/**
+*/
+class ZipException : public RuntimeException
+{
+public:
+ ZipException(int Error);
+
+ virtual const char* what() const throw();
+};
+
+//------------------------------------------
+/**
+*/
+class Win32Exception : public RuntimeException
+{
+public:
+ Win32Exception(int Error);
+ virtual ~Win32Exception() throw();
+
+ virtual const char* what() const throw();
+
+private:
+ void* m_MsgBuff;
+};
+
+//------------------------------------------
+/**
+*/
+class ZipContentMissException : public ZipException
+{
+public:
+ ZipContentMissException(int Error);
+};
+
+//------------------------------------------
+/**
+*/
+class AccessViolationException : public Win32Exception
+{
+public:
+ AccessViolationException(int Error);
+};
+
+//------------------------------------------
+/**
+*/
+class IOException : public Win32Exception
+{
+public:
+ IOException(int Error);
+};
+
+#endif