diff options
Diffstat (limited to 'Lib/xml/sax')
-rw-r--r-- | Lib/xml/sax/_exceptions.py | 9 | ||||
-rw-r--r-- | Lib/xml/sax/expatreader.py | 3 |
2 files changed, 7 insertions, 5 deletions
diff --git a/Lib/xml/sax/_exceptions.py b/Lib/xml/sax/_exceptions.py index 1804f3f..88ec8ca 100644 --- a/Lib/xml/sax/_exceptions.py +++ b/Lib/xml/sax/_exceptions.py @@ -79,10 +79,11 @@ class SAXParseException(SAXException): def __str__(self): "Create a string representation of the exception." - return "%s at %s:%d:%d" % (self._msg, - self.getSystemId(), - self.getLineNumber(), - self.getColumnNumber()) + sysid = self.getSystemId() + if sysid is None: + sysid = "<unknown>" + return "%s:%d:%d: %s" % (sysid, self.getLineNumber(), + self.getColumnNumber(), self._msg) # ===== SAXNOTRECOGNIZEDEXCEPTION ===== diff --git a/Lib/xml/sax/expatreader.py b/Lib/xml/sax/expatreader.py index 14bc087..1414bb5 100644 --- a/Lib/xml/sax/expatreader.py +++ b/Lib/xml/sax/expatreader.py @@ -81,7 +81,8 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator): self._parser.Parse(data, isFinal) except expat.error: error_code = self._parser.ErrorCode - raise SAXParseException(expat.ErrorString(error_code), None, self) + exc = SAXParseException(expat.ErrorString(error_code), None, self) + self._err_handler.fatalError(exc) def close(self): if self._entity_stack: |