ElementTree vs cElementTree exception confusion
Aaron Bentley
aaron.bentley at utoronto.ca
Fri Sep 22 03:48:38 BST 2006
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Marien Zwart wrote:
> There are some selftest tests that fail when using the bundled
> ElementTree instead of cElementTree. This happens because cElementTree
> raises SyntaxError on invalid xml while ElementTree raises ExpatError.
> The attached bundle fixes the test.
Thanks. I would really like to see this go into 0.11, because raising
UnexpectedInventoryFormat makes it safe to cache basis inventories.
Otherwise, there's a risk you'll get ExpatError raised if you encounter
a basis inventory that isn't XML-based.
It is important to handle unexpected formats gracefully, because the
basis inventory is only a cache, and we can always get the inventory
from the repo instead. That guarantee makes it safe to vary our basis
inventory format without changing our working tree format. I renamed
our basis file just so we could achieve that guarantee.
> Would it be ok for those two files to import
> xml_serializer to get the right exception to catch, or should
> xml_serializer be modified to always raise some exception from
> bzrlib.errors so that knit.py and text.py can catch that exception
> instead?
- From examining those cases, I would say The Right Thing is for the
serializer to raise a bzrlib.errors exception when it can't parse the XML.
Aaron
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFFE08G0F+nu1YWqI0RAmZaAJ4mwWw3N3euSRqpthsYb1StaFumSACbBQMN
blo5bZwGKTSeuW0tJxZbffU=
=8dRg
-----END PGP SIGNATURE-----
More information about the bazaar
mailing list