以下代码是希望能捕捉XML字符串不符XML要求的处理,但是在try的时候就错了,而无法捕捉到. try{
childNode=(MSXML2::IXMLDOMElementPtr)
(pDoc->selectSingleNode(Node));
}catch (CException e) {
e.GetRuntimeClass();
return ERROR_XML_ILLEGAL;
}
childNode=(MSXML2::IXMLDOMElementPtr)
(pDoc->selectSingleNode(Node));
}catch (CException e) {
e.GetRuntimeClass();
return ERROR_XML_ILLEGAL;
}
MSXML2::IXMLDOMParseErrorPtr pparseError = NULL;
MSXML2::IXMLDOMElementPtr pelement = NULL;
MSXML2::IXMLDOMNodeListPtr pnodes = NULL;
MSXML2::IXMLDOMNodePtr pnode = NULL;
//CString strPathName = "51robot.xml";
pdocument.CreateInstance(__uuidof(MSXML2::DOMDocument));
_variant_t varOut;
varOut=pdocument->load(_variant_t("c:\\y2.xml"));
if (varOut.boolVal==FALSE)
{
//TRACE("load xml error?\n",pdocument->parseError->);
MSXML2::IXMLDOMParseErrorPtr errPtr = pdocument->GetparseError();
_bstr_t bstrErr(errPtr->reason); TRACE(_T("Error:\n"));
TRACE(_T("Code = 0x%x\n"), errPtr->errorCode);
TRACE(_T("Source = Line : %ld; Char : %ld\n"), errPtr->line, errPtr->linepos);
TRACE(_T("Error Description = %s\n"), (char*)bstrErr);
return ;
}
我现在是想捕捉当这个XML字符串并不能生成XML时,我用pDoc->selectSingleNode(Node))这个方法时就会出错,我希望能够对这个错误加以Catch处理.