diff options
Diffstat (limited to 'shell/source/all/zipfile/zipexcptn.hxx')
-rw-r--r-- | shell/source/all/zipfile/zipexcptn.hxx | 78 |
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 |