expatreader: Use the error handler instead of raising exception directly.
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 =====
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: