Salome HOME
Bug correction EDF12462 (1)
[modules/yacs.git] / src / yacsloader / parsers.cxx
index 513dd1efc67fb2a3d09d8e9bc01e227aca132da6..3b621890b00e6946fcda57ec4104ac04875ff40d 100644 (file)
@@ -124,6 +124,8 @@ ENGINE::Proc* YACSLoader::load(const char * file)
   {
     if ( xmlParseDocument(saxContext) == -1 )
     {
+      if(!currentProc)
+        throw Exception("Basic error during parsing.");
       YACS::ENGINE::Logger* logger = currentProc->getLogger("parser");
       logger->fatal( saxContext->lastError.message, file, saxContext->input->line );
     }
@@ -132,6 +134,8 @@ ENGINE::Proc* YACSLoader::load(const char * file)
   }
   catch(Exception& e)
   {
+    if(!currentProc)
+      throw e;
     YACS::ENGINE::Logger* logger = currentProc->getLogger("parser");
     logger->fatal(e.what(), file, saxContext->input->line);
     saxContext = 0;