3

我有几个来自服务器的 json 对象。目前,我正在使用浏览器的 json 功能(我的应用程序仅支持现代浏览器)将 json 解析为对象。

我应该使用 try/catch 来使我的应用程序更健壮,还是使用 try/catch 会产生另一组问题?

4

3 回答 3

5

try..catch 不是让问题消失的神奇构造。问题是,你会在你的 catch { } 子句中加入什么?

如果您可以在 json 损坏的情况下做一些有用的事情。可以让您确保应用程序的状态再次正确的东西,那么它是有意义的。

但是,您收到损坏的 json 的机会有多大?如果您自己生成和解析 json,则可能性很小。

于 2012-04-27T12:44:16.233 回答
2

使用try / catch块的一般规则是,只有在你 100% 知道下一步该做什么时才使用它

换句话说,如果由于解析 JSON 对象失败而无法继续应用程序流程,则抛出错误或不使用try / catch.

除此之外,您可以使用json2.js或任何其他支持原生 JSON 的库来支持老式浏览器。

于 2012-04-27T12:43:53.740 回答
1

响应的验证应该在 SERVER 中,而不是在客户端。
所以你不必担心解析是否会失败,(除非程序员失败了......)

客户端验证依赖于服务器端,而不是相反。

于 2012-04-27T12:44:35.777 回答