If the status code is not 200, some thing wrong should happen at the
server side, the JSON content is going to contain exception details.
We can use the JSON content to reconstruct the exception object.