Hi All!
I'm trying to parse not existing file, but 'parse' method
does not emit any exception... Simplified code is:
XercesDOMParser* parser = new XercesDOMParser;
try {
parser->parse ("");
} catch (...) {
printf ("error"); // never reached!
}
Debugger said that:
1. IGXMLScanner::scanDocument turn on flag 'fInException' & call emitError
2. XMLScanner::emitError check that 'fErrorReporter' is false & call
'emitErrorWillThrowException':
bool XMLScanner::emitErrorWillThrowException(const XMLErrs::Codes toEmit)
{
// in my case:
// - XMLErrs::isFatal(toEmit) return true
// - 'fExitOnFirstFatal' is set to true
// - BUT 'fInException' was set to true on step 1 & this
// method return false. So XMLScanner::emitError doesn't
// emit fatal exception
if (XMLErrs::isFatal(toEmit) && fExitOnFirstFatal && !fInException)
return true;
return false;
}
Can anybody explain to me is it possible to force
XercesDOMParser::parse throw fatal exception
in such cases?
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]