# Read everything we might need from the error pointer, so we don't
# depend on it. It's possible for the user to keep an Error object
# and to want to read its causes after the error pointer has been
# Read everything we might need from the error pointer, so we don't
# depend on it. It's possible for the user to keep an Error object
# and to want to read its causes after the error pointer has been