summaryrefslogtreecommitdiff
path: root/src/KM_xml.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/KM_xml.cpp')
-rw-r--r--src/KM_xml.cpp18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/KM_xml.cpp b/src/KM_xml.cpp
index 5037391..31bb04d 100644
--- a/src/KM_xml.cpp
+++ b/src/KM_xml.cpp
@@ -612,6 +612,9 @@ Kumu::XMLElement::ParseFirstFromString(const char* document, ui32_t doc_len)
if ( ! XML_Parse(Parser, document, doc_len, 1) )
{
+ DefaultLogSink().Error("XML Parse error on line %d: %s\n",
+ XML_GetCurrentLineNumber(Parser),
+ XML_ErrorString(XML_GetErrorCode(Parser)));
XML_ParserFree(Parser);
return false;
}
@@ -1022,8 +1025,23 @@ Kumu::XMLElement::ParseFirstFromString(const char* document, ui32_t doc_len)
++errorCount;
}
}
+ catch (const XMLException& e)
+ {
+ char* message = XMLString::transcode(e.getMessage());
+ DefaultLogSink().Error("Parser error: %s\n", message);
+ XMLString::release(&message);
+ errorCount++;
+ }
+ catch (const SAXParseException& e)
+ {
+ char* message = XMLString::transcode(e.getMessage());
+ DefaultLogSink().Error("Parser error: %s at line %d\n", message, e.getLineNumber());
+ XMLString::release(&message);
+ errorCount++;
+ }
catch (...)
{
+ DefaultLogSink().Error("Unexpected XML parser error\n");
errorCount++;
}