共用方式為


疑難排解例外狀況:System.IndexOutOfRangeException

嘗試存取陣列或集合的元素,而該陣列或集合中的索引位於陣列邊界外部或少於零時,就會擲回 IndexOutOfRangeException 例外狀況。

相關秘訣

  • 請確定清單索引的最大值必須小於清單的大小
    清單索引的最大值必須小於清單的大小。

  • 請確定索引不是負數。
    如果索引小於零,就會擲回這個例外狀況。

  • 請確定資料的欄位名稱是正確的。
    如果提供給 DataView.Sort 屬性的資料欄位名稱無效,可能會擲回這個例外狀況。 如需詳細資訊,請參閱 DataView 類別。

範例

說明

下列範例在索引 i 超出陣列界限 0 至 3 時,使用 Try…Catch 區塊來攔截 IndexOutOfRangeException。 範例會顯示下列資訊:

Element at index 0: 3

Element at index 2: 5

Element at index -1: IndexOutOfRangeException caught

Element at index 4: IndexOutOfRangeException caught

程式碼

Module Module1

    Sub Main()
        ' The first two tests will display the value of the array element.
        IndexTest(0)
        IndexTest(2)
        ' The following two calls will display the information that
        ' an IndexOutOfRangeException was caught.
        IndexTest(-1)
        IndexTest(4)
    End Sub

    Sub IndexTest(ByVal i As Integer)
        Dim testArray() As Integer = {3, 4, 5, 6}
        Console.Write("Element at index {0}: ", i)
        Try
            Console.WriteLine(testArray(i))
        Catch ex As IndexOutOfRangeException
            Console.WriteLine("IndexOutOfRangeException caught")
        End Try
    End Sub

End Module

請參閱

工作

HOW TO:使用例外狀況助理

參考

IndexOutOfRangeException

概念

Visual Basic 中的陣列