Error Objects
The InexactErr and OverflowErr error objects contain information about the cause of the error. You can access this information through four methods common to both decimal and fixed decimal versions of the error classes. For example, for the RWDecimal<T> versions of these error objects, the public member functions are:
 
RWDecimal<T> leftOperand() const
RWDecimal<T> rightOperand() const
RWDecimalBase::Op operation() const
RWCString msg() const
The enumerated type RWDecimalBase::Op has one of these values: assign, add, sub, mult, div, powop, pow10op, strctor, conversion. If an overflow handler does not exit, an NaN value results. The message is a short string describing the origin of the error.
All the error objects are derived from either RWInternalErr or RWExternalErr. These classes are designed as base classes for objects that are thrown as exceptions. Thus, throwing error objects as exceptions is a reasonable thing to do.