00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00028 #ifndef OW32_Win32Exception_h
00029 #define OW32_Win32Exception_h
00030
00031 #include <OW32/windows.h>
00032 #include <OW32/tstl.h>
00033 #include <OW32/OW32Libs.h>
00034 #include <string>
00035
00036 namespace OW32
00037 {
00038
00042 class OW32_LIB_EXPORT CWin32Exception
00043 {
00044 public:
00051 CWin32Exception(LPCTSTR prefix, DWORD error) :
00052 m_prefix(prefix),
00053 m_error(error)
00054 {
00055 }
00056
00060 CWin32Exception() :
00061 m_error(ERROR_SUCCESS)
00062 {
00063 }
00064
00068 DWORD getError() const
00069 {
00070 return m_error;
00071 }
00072
00076 LPCTSTR getPrefix() const
00077 {
00078 return m_prefix.c_str();
00079 }
00080
00084 std::_tstring getFormattedError() const;
00085
00090 static std::_tstring getFormattedError(DWORD error, LPCTSTR prefix)
00091 {
00092 CWin32Exception e(prefix, error);
00093 return e.getFormattedError();
00094 }
00095
00096 private:
00097 DWORD m_error;
00098 std::_tstring m_prefix;
00099 };
00100
00101 }
00102
00103 #endif // OW32_Win32Exception_h