wrapped Hash.from_xml in a method that rescues the exception and raises a different type