`JSON.parse` can throw, so always wrap it in try/catch.  However, if you do my 404 vs. 200 trick, we can skip parsing the body altogether.