【发布时间】:2011-05-16 07:47:50
【问题描述】:
我有以下代码
XercesDOMParser *parser = new XercesDOMParser();
parser->setExternalNoNamespaceSchemaLocation("personal.xsd");
parser->setExitOnFirstFatalError(true);
parser->setValidationConstraintFatal(true);
parser->setValidationScheme(XercesDOMParser::Val_Auto);
parser->setDoNamespaces(false);
parser->setDoSchema(true);
ErrorHandler* errHandler = (ErrorHandler*) new Error_handler();
parser->setErrorHandler(errHandler);
try
{
const char *const xmlFile = "personal.xml";
parser->parse(xmlFile);
}
catch (const XMLException& toCatch)
{
char* message = XMLString::transcode(toCatch.getMessage());
cout << "Exception message is: \n"
<< message << "\n";
XMLString::release(&message);
}
catch (const DOMException& toCatch)
{
char* message = XMLString::transcode(toCatch.msg);
cout << "Exception message is: \n"
<< message << "\n";
XMLString::release(&message);
}
catch (...) {
cout << "Unexpected Exception \n" ;
}
我在以下行中遇到异常:
parser->parse(xmlFile);
Windows Xp、Visual Studio 2008、xerces-c-3.1.1。
有什么想法吗?
【问题讨论】:
-
有什么例外?文件里有什么?
-
Xerces Examples.exe 中 0x0000003a 处未处理的异常:0xC0000005:访问冲突读取位置 0x0000003a。该文件只是我用来学习 Xerces 的主要文件。
标签: visual-c++ xerces