Hi All!
  
  I'm trying to parse not existing file, but 'parse' method
  does not emit any exception... Simplified code is:

  XercesDOMParser_var 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 catch (fatal) exception
  in such cases?


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to