我有几个来自服务器的 json 对象。目前,我正在使用浏览器的 json 功能(我的应用程序仅支持现代浏览器)将 json 解析为对象。
我应该使用 try/catch 来使我的应用程序更健壮,还是使用 try/catch 会产生另一组问题?
我有几个来自服务器的 json 对象。目前,我正在使用浏览器的 json 功能(我的应用程序仅支持现代浏览器)将 json 解析为对象。
我应该使用 try/catch 来使我的应用程序更健壮,还是使用 try/catch 会产生另一组问题?
try..catch 不是让问题消失的神奇构造。问题是,你会在你的 catch { } 子句中加入什么?
如果您可以在 json 损坏的情况下做一些有用的事情。可以让您确保应用程序的状态再次正确的东西,那么它是有意义的。
但是,您收到损坏的 json 的机会有多大?如果您自己生成和解析 json,则可能性很小。
使用try / catch
块的一般规则是,只有在你 100% 知道下一步该做什么时才使用它。
换句话说,如果由于解析 JSON 对象失败而无法继续应用程序流程,则抛出错误或不使用try / catch
.
除此之外,您可以使用json2.js
或任何其他支持原生 JSON 的库来支持老式浏览器。
响应的验证应该在 SERVER 中,而不是在客户端。
所以你不必担心解析是否会失败,(除非程序员失败了......)
客户端验证依赖于服务器端,而不是相反。