correctly catch JSON errors