Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

ErrorHandling.h

Go to the documentation of this file.
00001 // Copyright NVIDIA Corporation 2002-2004
00002 // TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, THIS SOFTWARE IS PROVIDED
00003 // *AS IS* AND NVIDIA AND ITS SUPPLIERS DISCLAIM ALL WARRANTIES, EITHER EXPRESS
00004 // OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF MERCHANTABILITY
00005 // AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO EVENT SHALL NVIDIA OR ITS SUPPLIERS
00006 // BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT, OR CONSEQUENTIAL DAMAGES
00007 // WHATSOEVER (INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF BUSINESS PROFITS,
00008 // BUSINESS INTERRUPTION, LOSS OF BUSINESS INFORMATION, OR ANY OTHER PECUNIARY LOSS)
00009 // ARISING OUT OF THE USE OF OR INABILITY TO USE THIS SOFTWARE, EVEN IF NVIDIA HAS
00010 // BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES 
00011 
00012 #pragma once
00013 
00015 #include "nvsgcommon.h"
00016 
00017 #include <string>
00018 
00019 namespace nvsg
00020 {
00021 // forward declaration
00022 class NVSGException;
00024 typedef void NVSGERRORHANDLER(const NVSGException&);
00025 
00029 extern NVSGERRORHANDLER * nvsgErrorHandler;
00039 NVSGERRORHANDLER * nvsgSetErrorHandler(NVSGERRORHANDLER * newErrorHandler); 
00040 
00044 class NVSGException
00045 {
00046 public:
00055   NVSGException(bool critical, const std::string& errMsg) : m_critical(critical), m_errMsg(errMsg) {}
00069   NVSGException(bool critical, unsigned int errMsgID) {}
00070   virtual ~NVSGException() {}
00071 
00082   virtual bool isCritical() const;
00088   virtual const std::string& getErrorMessage() const;
00089 
00090 private:
00091   bool m_critical; 
00092   std::string m_errMsg; 
00093 };
00094 
00095 // inline function implementation
00096 
00097 inline bool NVSGException::isCritical() const 
00098 { 
00099   return m_critical; 
00100 }
00101 
00102 inline const std::string& NVSGException::getErrorMessage() const 
00103 { 
00104   return m_errMsg; 
00105 }  
00106 
00107 }

Generated on Tue Mar 1 13:19:19 2005 for NVSGSDK by NVIDIA