rwlogo
SourcePro C++ 12.0

SourcePro® C++ API Reference Guide



   SourcePro C++
Documentation Home

RWxmsg Class Reference
[Miscellaneous]

Base class for the hierarchy of exceptions in the Essential Tools Module. More...

#include <rw/rwerr.h>

Inheritance diagram for RWxmsg:
RWExternalErr RWInternalErr RWMimeError RWTHRxmsg RWTraceClientAlreadyAdded RWTraceClientAlreadyConnected RWTraceClientNotConnected RWTraceInvalidClient RWTraceInvalidPointer RWUException RWxalloc

List of all members.

Public Member Functions

 RWxmsg (const char *msg)
 RWxmsg (const RWxmsg &msg)
virtual const char * why () const
virtual void raise () const
RWxmsgoperator= (const RWxmsg &)
 RWxmsg (RWxmsg &&msg)
RWxmsgoperator= (RWxmsg &&msg)
void swap (RWxmsg &rhs)

Protected Member Functions

 RWxmsg (const char *msg, bool doCopy)

Related Functions

(Note that these are not member functions.)



 RWTHROW(a)

Detailed Description

This class is the base class for the hierarchy of exceptions in the Essential Tools Module. (See the section on error reporting and handling in the Essential Tools Module User's Guide.) Although the entire class is documented here, your code usually should not create or directly throw RWxmsg objects. Instead, you should expect to write code that may catch an RWxmsg or one of its derived classes.

Essential Tools Module classes that need to report exceptional circumstances call RWTHROW(). RWTHROW() throws the RWxmsg if exceptions are enabled. Otherwise, RWTHROW() calls an appropriate current Essential Tools Module error handler function (see the section on error reporting and handling in the Essential Tools Module User's Guide).

RWxmsg provides a basic interface for exceptions, from which an exception string is always available. This exception string is obtained through the why() method, and is represented as a const char*, single-byte character sequence.

Synopsis

 #include <rw/rwerr.h>
 RWxmsg x("exception message");

Persistence

None


Constructor & Destructor Documentation

RWxmsg::RWxmsg ( const char *  msg  ) 

Creates an exception that returns msg when its why() method is called.

RWxmsg::RWxmsg ( const RWxmsg msg  ) 

Copy constructor.

RWxmsg::RWxmsg ( RWxmsg &&  msg  ) 

Move constructor. The constructed instance takes ownership of the data owned by msg.

Condition:
This method is only available on platforms with rvalue reference support.
RWxmsg::RWxmsg ( const char *  msg,
bool  doCopy 
) [protected]

Creates an exception that returns msg when its why() method is called. If doCopy is true, copies msg into a new buffer on the heap, otherwise simply keeps a pointer to the given location of msg.


Member Function Documentation

RWxmsg& RWxmsg::operator= ( RWxmsg &&  msg  ) 

Move assignment. Self takes ownership of the data owned by msg.

Condition:
This method is only available on platforms with rvalue reference support.
RWxmsg& RWxmsg::operator= ( const RWxmsg  ) 

Assignment operator.

virtual void RWxmsg::raise (  )  const [virtual]
void RWxmsg::swap ( RWxmsg rhs  ) 

Swaps the data owned by self with the data owned by rhs.

virtual const char* RWxmsg::why (  )  const [virtual]

Returns the message string contained in self.


Friends And Related Function Documentation

RWTHROW (  )  [related]

RWTHROW() throws the exception a if exceptions are enabled. Otherwise, RWTHROW() invokes the error handler callback function set by the last call to rwSetErrHandler() or the default callback if one has not been explicitly set.

 All Classes Functions Variables Typedefs Enumerations Enumerator Friends

© Copyright Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave and SourcePro are registered trademarks of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.
Contact Rogue Wave about documentation or support issues.