📄 domexception.cpp
字号:
//
// DOMException.cpp
//
// $Id: //poco/Main/XML/src/DOMException.cpp#5 $
//
// Copyright (c) 2004, Guenter Obiltschnig/Applied Informatics.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions
// are met:
//
// 1. Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
//
// 2. 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.
//
// 3. Redistributions in any form must be accompanied by information on
// how to obtain complete source code for this software and any
// accompanying software that uses this software. The source code
// must either be included in the distribution or be available for no
// more than the cost of distribution plus a nominal fee, and must be
// freely redistributable under reasonable conditions. For an
// executable file, complete source code means the source code for all
// modules it contains. It does not include source code for modules or
// files that typically accompany the major components of the operating
// system on which the executable file runs.
//
// 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 THE
// COPYRIGHT OWNER 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.
//
#include "DOM/DOMException.h"
#include <typeinfo>
XML_BEGIN
const std::string DOMException::MESSAGES[_NUMBER_OF_MESSAGES] =
{
"Invalid DOM exception code",
"Index or size is negative or greater than allowed value",
"The specified range of text does not fit into a DOMString",
"A node is inserted somewhere it doesn't belong",
"A node is used in a different document than the one that created it",
"An invalid character is specified",
"Data is specified for a node which does not support data",
"An attempt is made to modify an object where modifications are not allowed",
"An attempt was made to reference a node in a context where it does not exist",
"The implementation does not support the type of object requested",
"An attempt is made to add an attribute that is already in use elsewhere",
"A parameter or an operation is not supported by the underlying object",
"An invalid or illegal string is specified",
"An attempt is made to modify the type of the underlying object",
"An attempt is made to create or change an object in a way which is incorrect with regard to namespaces",
"An attempt is made to use an object that is not, or is no longer, usable"
};
DOMException::DOMException(unsigned short code):
XMLException(message(code)),
_code(code)
{
}
DOMException::DOMException(const DOMException& exc):
XMLException(exc),
_code(exc._code)
{
}
DOMException::~DOMException() throw()
{
}
DOMException& DOMException::operator = (const DOMException& exc)
{
if (&exc != this)
{
XMLException::operator = (exc);
_code = exc._code;
}
return *this;
}
const char* DOMException::name() const throw()
{
return "DOMException";
}
const char* DOMException::className() const throw()
{
return typeid(*this).name();
}
Foundation::Exception* DOMException::clone() const
{
return new DOMException(*this);
}
const std::string& DOMException::message(unsigned short code)
{
if (code >= 1 && code < _NUMBER_OF_MESSAGES)
return MESSAGES[code];
else
return MESSAGES[0];
}
XML_END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -