From 04f4943d132d0d5e9829923706a2cb07a2b0ae9f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Martin=20v=2E=20L=C3=B6wis?= Date: Mon, 9 Oct 2000 16:45:54 +0000 Subject: _exceptions: Format a missing system id as . expatreader: Use the error handler instead of raising exception directly. --- Lib/xml/sax/_exceptions.py | 9 +++++---- 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 = "" + 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: -- cgit v0.12