This could potentially also throw a different exception if the returned XML is messed up (e.g. can't access [0] index), right?

I know this shouldn't happen, but In Libcloud we deal a lot with stuff which is not documented and shouldn't happen, but it actually happens in real life so we try to program as defensively as possible :)