4 回答

TA貢獻1775條經(jīng)驗 獲得超8個贊
關(guān)于Index out of bound of exception的簡單解釋是:
試想一下火車的艙室是D1,D2,D3。一名乘客來到火車,他有D4的機票?,F(xiàn)在會發(fā)生什么。乘客想進入一個不存在的隔間,所以很明顯會出現(xiàn)問題。
相同的場景:每當我們嘗試訪問數(shù)組列表等時,我們只能訪問數(shù)組中的現(xiàn)有索引。array[0]
并且array[1]
存在。如果我們嘗試訪問array[3]
,實際上并不存在,那么將出現(xiàn)索引超出范圍的異常。

TA貢獻1735條經(jīng)驗 獲得超5個贊
從非常長的完全接受的答案的一方面來看,IndexOutOfRangeException
與許多其他異常類型相比,有一個重點,那就是:
通常存在復雜的程序狀態(tài),可能難以在代碼中的特定點控制,例如DB連接斷開,因此無法檢索輸入的數(shù)據(jù)等......這種問題通常會導致某種類型的異常必須冒泡到更高的水平,因為它發(fā)生的地方在那時無法處理它。
IndexOutOfRangeException
通常不同之處在于,在大多數(shù)情況下,在引發(fā)異常時檢查它是非常簡單的。通常這種異常會被某些代碼拋出,這些代碼可以很容易地在它發(fā)生的地方處理問題 - 只需檢查數(shù)組的實際長度即可。您不希望通過更高級處理此異常來“修復”此問題 - 而是確保它不會在第一個實例中拋出 - 在大多數(shù)情況下通過檢查數(shù)組長度很容易。
另一種說法是,由于真正缺乏對輸入或程序狀態(tài)的控制,可能會出現(xiàn)其他異常,但IndexOutOfRangeException
通常只是導頻(程序員)錯誤。
- 4 回答
- 0 關(guān)注
- 4333 瀏覽
添加回答
舉報