⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 genexception.h

📁 UPnP的SDK源代码
💻 H
字号:
/////////////////////////////////////////////////////////////////////////////// Copyright (c) 2000 Intel Corporation// All rights reserved.//// Redistribution and use in source and binary forms, with or without// modification, are permitted provided that the following conditions are met://// * Redistributions of source code must retain the above copyright notice,// this list of conditions and the following disclaimer.// * Redistributions in binary form must reproduce the above copyright notice,// this list of conditions and the following disclaimer in the documentation// and/or other materials provided with the distribution.// * Neither name of the Intel Corporation nor the names of its contributors// may be used to endorse or promote products derived from this software// without specific prior written permission.//// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS// ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL INTEL OR// CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR// PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY// OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING// NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE./////////////////////////////////////////////////////////////////////////////#ifndef GENEXCEPTION_H#define GENEXCEPTION_H// genlib/util/genexception.h// $Revision: 1.1.1.3 $// $Date: 2001/06/15 00:22:16 $#include <genlib/util/xstring.h>class GenericException{public:	// throw OutOfMemoryException    GenericException();	// throw OutOfMemoryException    GenericException( const char* message );	// throw OutOfMemoryException    GenericException( const GenericException& other );    virtual ~GenericException();    	// throw OutOfMemoryException    virtual GenericException& operator =            ( const GenericException& other );    	// throw OutOfMemoryException    virtual void setValues( const char *message,        const char* srcfile = NULL, int linenum = 0 );            virtual const char* getMessage() const;    virtual const char* getSrcFileName() const;    virtual int getLineNum() const;        virtual int getErrorCode() const;    virtual void setErrorCode( int errCode );        virtual void print() const;	// throw OutOfMemoryException    virtual void appendMessage( const char* msg );    protected:    // all inherited classes MUST override this method    virtual const char* getClassName() const;    private:    static void setStrValue( char*& str, const char *value );    void doCopy( const GenericException& other );    private:    xstring msg;    xstring srcFileName;    int lineNum;    int errorCode;  // for interoperating with C code if necessary};// allows creation of new exception type with a heirarchy// C - name of new exception class// P - name of existing parent class// CLASSNAME - name of new exception class in quotes// Eg:// CREATE_NEW_EXCEPTION_TYPE( MyFoo, GenericException, "MyFoo" )#define CREATE_NEW_EXCEPTION_TYPE( C, P, CLASSNAME )    \class C : public P                          \{                                           \public:                                     \    C() : P()   { }                         \    C( const char* s ) : P(s)   { }         \    C( const C& other ) : P( other ) { }    \protected:                                  \    const char* getClassName() const        \    { return CLASSNAME; }                   \};#endif /* GENEXCEPTION_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -