例外がスローされることがわかっていることを行うのは悪い形式ですか (適切に処理すると仮定します)? 例えば:
JSONArray stuff = new JSONArray();
JSONArray otherStuff = new JSONArray();
try{
for(i = 0; i < stuff.length(); i++){
JSONObject a = stuff.getJSONObject(i);
otherStuff.add(a);
}
} catch (JSONException e){
Log.e("FAIL", e.toString());
}
//more code adding things to array later on
この場合、最初にシーケンスを実行したとき、配列は空になり、インデックス i には何もないため、getJSONObject は例外をスローします。ただし、後で配列に何かが追加された場合、例外はスローされません。
確かに、このコードは単なる仮説です (もっと良い例があると確信しています - 誰かが持っているかもしれません) が、フォーム/スタイルの問題として、意図的に例外をスローしても問題ありませんか? それとも、それらをすべて一緒に投げることを避けるべきですか?