]> granicus.if.org Git - python/commitdiff
_exceptions: Format a missing system id as <unknown>.
authorMartin v. Löwis <martin@v.loewis.de>
Mon, 9 Oct 2000 16:45:54 +0000 (16:45 +0000)
committerMartin v. Löwis <martin@v.loewis.de>
Mon, 9 Oct 2000 16:45:54 +0000 (16:45 +0000)
expatreader: Use the error handler instead of raising exception directly.

Lib/xml/sax/_exceptions.py
Lib/xml/sax/expatreader.py

index 1804f3fde22e1f4b37c845429135ecb1e0519efd..88ec8ca5983a0c271a650437de0bcfba19c1fe97 100644 (file)
@@ -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 =====
index 14bc0877e169b1b08dd9b47ef2106212d5180438..1414bb5f68702f7e20900d85d6d36f7a9bd628a4 100644 (file)
@@ -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: