Handle XML errors when parsing the manifest

Catch ExpatError and exit gracefully with an error message, rather
than exiting with a python traceback.

Change-Id: Ifd0a7762aab4e8de63dab8a66117170a05586866
This commit is contained in:
David Pursehouse 2012-11-13 04:00:28 +09:00
parent 1ad7b555df
commit f7fc8a95be

View File

@ -310,7 +310,11 @@ class XmlManifest(object):
self._loaded = True
def _ParseManifestXml(self, path, include_root):
root = xml.dom.minidom.parse(path)
try:
root = xml.dom.minidom.parse(path)
except (OSError, xml.parsers.expat.ExpatError), e:
raise ManifestParseError("error parsing manifest %s: %s" % (path, e))
if not root or not root.childNodes:
raise ManifestParseError("no root node in %s" % (path,))