wg_error.h

00001 // wg_error.h
00002 //
00003 // wGui error classes
00004 //
00005 //
00006 // Copyright (c) 2002-2004 Rob Wiskow
00007 // rob-dev@boxedchaos.com
00008 //
00009 // This library is free software; you can redistribute it and/or
00010 // modify it under the terms of the GNU Lesser General Public
00011 // License as published by the Free Software Foundation; either
00012 // version 2.1 of the License, or (at your option) any later version.
00013 //
00014 // This library is distributed in the hope that it will be useful,
00015 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00017 // Lesser General Public License for more details.
00018 //
00019 // You should have received a copy of the GNU Lesser General Public
00020 // License along with this library; if not, write to the Free Software
00021 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
00022 //
00023 
00024 
00025 // This is for all the exception classes that are used in wGui
00026 
00027 #ifndef _WG_ERROR_H_
00028 #define _WG_ERROR_H_
00029 
00030 #include <exception>
00031 #include <string>
00032 #include "std_ex.h"
00033 
00034 
00035 namespace wGui
00036 {
00037 
00039 class Wg_Ex_Base : public std::exception
00040 {
00041 public:
00044      Wg_Ex_Base(const std::wstring& sWhat) : m_sWhat(sWhat) { }
00045 
00047      virtual ~Wg_Ex_Base(void) throw() { }
00048 
00051      virtual const char* what() const throw() { return stdex::ToMbString(m_sWhat).c_str(); }
00052 
00055      virtual const std::wstring& std_what() const throw() { return m_sWhat; }
00056 
00057 private:
00058      std::wstring m_sWhat;
00059 };
00060 
00061 
00063 class Wg_Ex_SDL : public Wg_Ex_Base
00064 {
00065 public:
00068      Wg_Ex_SDL(const std::wstring& sWhat) : Wg_Ex_Base(sWhat) { }
00069 };
00070 
00071 
00073 class Wg_Ex_FreeType : public Wg_Ex_Base
00074 {
00075 public:
00078      Wg_Ex_FreeType(const std::wstring& sWhat) : Wg_Ex_Base(sWhat) { }
00079 };
00080 
00081 
00083 class Wg_Ex_App : public Wg_Ex_Base
00084 {
00085 public:
00088      Wg_Ex_App(const std::wstring& sWhat) : Wg_Ex_Base(sWhat) { }
00089 };
00090 
00091 
00093 class Wg_Ex_Range : public Wg_Ex_Base
00094 {
00095 public:
00098      Wg_Ex_Range(const std::wstring& sWhat) : Wg_Ex_Base(sWhat) { }
00099 };
00100 
00101 }
00102 
00103 #endif // _WG_ERROR_H_
00104 

Generated on Wed May 16 23:11:25 2007 for wGui by  doxygen 1.5.1