22#if !defined(XERCESC_INCLUDE_GUARD_XMLEXCEPTION_HPP)
23#define XERCESC_INCLUDE_GUARD_XMLEXCEPTION_HPP
27#include <xercesc/util/XMLExceptMsgs.hpp>
60 XMLExcepts::Codes getCode()
const;
61 const XMLCh* getMessage()
const;
62 const char* getSrcFile()
const;
93 const XMLExcepts::Codes toLoad
97 const XMLExcepts::Codes toLoad
98 ,
const XMLCh*
const text1
99 ,
const XMLCh*
const text2 = 0
100 ,
const XMLCh*
const text3 = 0
101 ,
const XMLCh*
const text4 = 0
105 const XMLExcepts::Codes toLoad
106 ,
const char*
const text1
107 ,
const char*
const text2 = 0
108 ,
const char*
const text3 = 0
109 ,
const char*
const text4 = 0
128 XMLExcepts::Codes fCode;
164 if ((fCode >= XMLExcepts::W_LowBounds) && (fCode <= XMLExcepts::W_HighBounds))
166 else if ((fCode >= XMLExcepts::F_LowBounds) && (fCode <= XMLExcepts::F_HighBounds))
168 else if ((fCode >= XMLExcepts::E_LowBounds) && (fCode <= XMLExcepts::E_HighBounds))
178#define MakeXMLException(theType, expKeyword) \
179class expKeyword theType : public XMLException \
183 theType(const char* const srcFile \
184 , const XMLFileLoc srcLine \
185 , const XMLExcepts::Codes toThrow \
186 , MemoryManager* memoryManager = 0) : \
187 XMLException(srcFile, srcLine, memoryManager) \
189 loadExceptText(toThrow); \
192 theType(const theType& toCopy) : \
194 XMLException(toCopy) \
198 theType(const char* const srcFile \
199 , const XMLFileLoc srcLine \
200 , const XMLExcepts::Codes toThrow \
201 , const XMLCh* const text1 \
202 , const XMLCh* const text2 = 0 \
203 , const XMLCh* const text3 = 0 \
204 , const XMLCh* const text4 = 0 \
205 , MemoryManager* memoryManager = 0) : \
206 XMLException(srcFile, srcLine, memoryManager) \
208 loadExceptText(toThrow, text1, text2, text3, text4); \
211 theType(const char* const srcFile \
212 , const XMLFileLoc srcLine \
213 , const XMLExcepts::Codes toThrow \
214 , const char* const text1 \
215 , const char* const text2 = 0 \
216 , const char* const text3 = 0 \
217 , const char* const text4 = 0 \
218 , MemoryManager* memoryManager = 0) : \
219 XMLException(srcFile, srcLine, memoryManager) \
221 loadExceptText(toThrow, text1, text2, text3, text4); \
224 virtual ~theType() {} \
226 theType& operator=(const theType& toAssign) \
228 XMLException::operator=(toAssign); \
232 virtual XMLException* duplicate() const \
234 return new (fMemoryManager) theType(*this); \
237 virtual const XMLCh* getType() const \
239 return XMLUni::fg##theType##_Name; \
254#define ThrowXML(type,code) throw type(__FILE__, __LINE__, code)
256#define ThrowXML1(type,code,p1) throw type(__FILE__, __LINE__, code, p1)
258#define ThrowXML2(type,code,p1,p2) throw type(__FILE__, __LINE__, code, p1, p2)
260#define ThrowXML3(type,code,p1,p2,p3) throw type(__FILE__, __LINE__, code, p1, p2, p3)
262#define ThrowXML4(type,code,p1,p2,p3,p4) throw type(__FILE__, __LINE__, code, p1, p2, p3, p4)
264#define ThrowXMLwithMemMgr(type,code,memMgr) throw type(__FILE__, __LINE__, code, memMgr)
266#define ThrowXMLwithMemMgr1(type,code,p1,memMgr) throw type(__FILE__, __LINE__, code, p1, 0, 0, 0, memMgr)
268#define ThrowXMLwithMemMgr2(type,code,p1,p2,memMgr) throw type(__FILE__, __LINE__, code, p1, p2, 0, 0, memMgr)
270#define ThrowXMLwithMemMgr3(type,code,p1,p2,p3,memMgr) throw type(__FILE__, __LINE__, code, p1, p2, p3, 0, memMgr)
272#define ThrowXMLwithMemMgr4(type,code,p1,p2,p3,p4,memMgr) throw type(__FILE__, __LINE__, code, p1, p2, p3, p4, memMgr)
#define XERCES_CPP_NAMESPACE_BEGIN
Definition XercesDefs.hpp:112
#define XMLUTIL_EXPORT
Definition XercesDefs.hpp:162
#define XERCES_CPP_NAMESPACE_END
Definition XercesDefs.hpp:113
char16_t XMLCh
Definition Xerces_autoconf_config.hpp:120
XMLUInt64 XMLFileLoc
Definition Xerces_autoconf_config.hpp:144
Configurable memory manager.
Definition MemoryManager.hpp:40
ErrTypes
Definition XMLErrorReporter.hpp:49
@ ErrTypes_Unknown
Definition XMLErrorReporter.hpp:54
@ ErrType_Error
Definition XMLErrorReporter.hpp:51
@ ErrType_Warning
Definition XMLErrorReporter.hpp:50
@ ErrType_Fatal
Definition XMLErrorReporter.hpp:52
Definition XMLException.hpp:43
XMLFileLoc getSrcLine() const
Definition XMLException.hpp:157
XMLException(const XMLException &toCopy)
void setPosition(const char *const file, const XMLFileLoc line)
virtual const XMLCh * getType() const =0
const char * getSrcFile() const
Definition XMLException.hpp:150
void loadExceptText(const XMLExcepts::Codes toLoad)
void loadExceptText(const XMLExcepts::Codes toLoad, const char *const text1, const char *const text2=0, const char *const text3=0, const char *const text4=0)
const XMLCh * getMessage() const
Definition XMLException.hpp:145
void loadExceptText(const XMLExcepts::Codes toLoad, const XMLCh *const text1, const XMLCh *const text2=0, const XMLCh *const text3=0, const XMLCh *const text4=0)
XMLErrorReporter::ErrTypes getErrorType() const
Definition XMLException.hpp:162
XMLExcepts::Codes getCode() const
Definition XMLException.hpp:140
XMLException(const char *const srcFile, const XMLFileLoc srcLine, MemoryManager *const memoryManager=0)
MemoryManager * fMemoryManager
Definition XMLException.hpp:134
XMLException & operator=(const XMLException &toAssign)
This class makes it possible to override the C++ memory management by adding new/delete operators to ...
Definition XMemory.hpp:41