dbertoni    01/03/29 14:15:33

  Modified:    c/src/XPath XObject.cpp XObject.hpp
  Log:
  Better exception throwing.
  
  Revision  Changes    Path
  1.21      +16 -11    xml-xalan/c/src/XPath/XObject.cpp
  
  Index: XObject.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.cpp,v
  retrieving revision 1.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- XObject.cpp       2001/01/25 17:14:17     1.20
  +++ XObject.cpp       2001/03/29 22:15:32     1.21
  @@ -132,7 +132,7 @@
   double
   XObject::num() const
   {
  -     throw XObjectInvalidCastException(getTypeString(), 
TranscodeFromLocalCodePage("number"));
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("number"));
   
        // This is just a dummy value to satisfy the compiler.
        return 0.0;
  @@ -143,7 +143,7 @@
   bool
   XObject::boolean() const
   {
  -     throw XObjectInvalidCastException(getTypeString(), 
TranscodeFromLocalCodePage("boolean"));
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("boolean"));
   
        // This is just a dummy value to satisfy the compiler.
        return false;
  @@ -154,7 +154,7 @@
   const XalanDOMString&
   XObject::str() const
   {
  -     throw XObjectInvalidCastException(getTypeString(), 
TranscodeFromLocalCodePage("string"));
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("string"));
   
        // This is just a dummy value to satisfy the compiler.
        return s_nullString;
  @@ -165,7 +165,7 @@
   const ResultTreeFragBase&
   XObject::rtree(XPathExecutionContext&        /* executionContext */) const
   {
  -     throw XObjectInvalidCastException(getTypeString(), 
TranscodeFromLocalCodePage("result tree fragment"));
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("result tree fragment"));
   
        // This is just a dummy value to satisfy the compiler.
   #if defined(XALAN_OLD_STYLE_CASTS)
  @@ -184,7 +184,7 @@
   const NodeRefListBase&
   XObject::nodeset() const
   {
  -     throw XObjectInvalidCastException(getTypeString(), 
TranscodeFromLocalCodePage("node set"));
  +     throw XObjectInvalidConversionException(getTypeString(), 
TranscodeFromLocalCodePage("node set"));
   
        // error will throw, so this is just a dummy
        // value to satisfy the compiler.
  @@ -874,8 +874,9 @@
   
   XObject::XObjectException::XObjectException(
                                const XalanDOMString&   message,
  -                             const XalanNode*                styleNode) :
  -     XPathException(message, styleNode)
  +                             const XalanNode*                styleNode,
  +                             const XalanDOMString&   theType) :
  +     XPathException(message, styleNode, theType)
   {
   }
   
  @@ -887,9 +888,13 @@
   
   
   
  -XObject::XObjectInvalidCastException::XObjectInvalidCastException(
  
+XObject::XObjectInvalidConversionException::XObjectInvalidConversionException(
                                const XalanDOMString&   fromType,
                                const XalanDOMString&   toType) :
  +     XObjectException(
  +                     formatErrorString(fromType, toType),
  +                     0,
  +                     
StaticStringToDOMString(XALAN_STATIC_UCODE_STRING("XObjectInvalidConversionException"))),
        m_fromType(fromType),
        m_toType(toType)
   {
  @@ -897,18 +902,18 @@
   
   
   
  -XObject::XObjectInvalidCastException::~XObjectInvalidCastException()
  
+XObject::XObjectInvalidConversionException::~XObjectInvalidConversionException()
   {
   }
   
   
   
   const XalanDOMString
  -XObject::XObjectInvalidCastException::formatErrorString(
  +XObject::XObjectInvalidConversionException::formatErrorString(
                                const XalanDOMString&   fromType,
                                const XalanDOMString&   toType)
   {
  -     return XalanDOMString(XALAN_STATIC_UCODE_STRING("Cannot cast an ")) +
  +     return XalanDOMString(XALAN_STATIC_UCODE_STRING("Cannot convert a ")) +
                   fromType +
                   XalanDOMString(XALAN_STATIC_UCODE_STRING(" to a ")) +
                   toType +
  
  
  
  1.17      +5 -4      xml-xalan/c/src/XPath/XObject.hpp
  
  Index: XObject.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xalan/c/src/XPath/XObject.hpp,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- XObject.hpp       2001/01/16 02:34:45     1.16
  +++ XObject.hpp       2001/03/29 22:15:32     1.17
  @@ -297,22 +297,23 @@
                explicit
                XObjectException(
                                const XalanDOMString&   message = 
XalanDOMString(),
  -                             const XalanNode*                styleNode = 0);
  +                             const XalanNode*                styleNode = 0,
  +                             const XalanDOMString&   theType = 
XalanDOMString(XALAN_STATIC_UCODE_STRING("XObjectException")));
   
                virtual
                ~XObjectException();
        };
   
  -     class XObjectInvalidCastException : public XObjectException
  +     class XObjectInvalidConversionException : public XObjectException
        {
        public:
   
  -             XObjectInvalidCastException(
  +             XObjectInvalidConversionException(
                                const XalanDOMString&   fromType,
                                const XalanDOMString&   toType);
   
                virtual
  -             ~XObjectInvalidCastException();
  +             ~XObjectInvalidConversionException();
   
                const XalanDOMString&
                getFromType() const
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to