On Error, body.error check

prevents things like connection errors (which don't return a body) from
causing another error when `body` is undefined and we check for `body.error`