我有一个JSONArray.我想将其解析为JSONObject.所以Loop和try-catch是必须的.
愚蠢的问题是:我应该在TRY中使用FOR循环还是反向?真的是重要还是两者都一样?
请告诉我最佳实践(如果两者不相同).
try {
for(i=0; i<jsonArray.length(); i++){
jsonObject = jsonArray.getJSONObject(i);
//do something
}
} catch (JSONException e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
for(i=0; i<jsonArray.length(); i++){
try {
jsonObject = jsonArray.getJSONObject(i);
//do something
} catch (JSONException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
哪个更好?
这取决于您对数据完整性的认真态度.
第一个示例将运行循环,直到发生异常,并且一旦执行,将调用catch块并且循环将不再运行.
但是,第二个示例将进入try块并尝试执行代码,如果存在异常,则调用catch块并排除异常.但是循环没有结束,下一次迭代将在之后运行.
这是一个例子.我们会考虑当i = 4时会发生一些异常
try {
for(i=0; i<10; i++){
System.out.println("" + i);
}
} catch (Exception e) {
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
输出 -
0
1
2
3
Exception
Run Code Online (Sandbox Code Playgroud)
和
for(i=0; i<10; i++){
try {
System.out.println("" + i);
} catch (Exception e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
产量
0
1
2
3
Exception
5
6
7
8
9
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
675 次 |
| 最近记录: |