做一些你知道會拋出異常的錯誤形式(假設你正確處理它)?例如:故意拋出異常是不是很糟糕?
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
在這種情況下,你第一次運行的順序排列將是空的,getJSONObject將拋出一個錯誤時拋出,因爲就什麼也沒有索引i。但是,稍後如果將事件添加到數組中,則不會拋出異常。
授予此代碼只是一個假設(我敢肯定有更好的例子 - 有人可能有一個),但作爲一種形式/風格的問題可以故意拋出異常嗎?或者你應該避免把它們扔在一起?
這是確定的,但通常你不應該。這[文章](http://stackoverflow.com/questions/9314358/design-issue-to-what-extent-should-I-rely-on-exceptions-for-the-the-of-the-flow) – wtsang02
我不同意它沒問題,但同意這個問題post –
當前的示例不會拋出,因爲stuff.length()== 0,所以不會進入循環。也就是說,只是日誌記錄通常不是正確的異常處理,或者是有效的,並且應該正常處理,或者它不是,你應該做的不僅僅是忽略它。 – jqpubliq