Разрешение вопросов, связанных с исключениями: System.IndexOutOfRangeException
Исключение IndexOutOfRangeException возникает при попытке доступа к элементу массива или коллекции с индексом, который находится вне границ массива или меньше нуля.
Полезные советы
Убедитесь, что максимальный индекс списка не превышает размер списка
Максимальный индекс списка должен быть меньше, чем размер списка.Убедитесь, что индекс не является отрицательным числом.
Это исключение возникнет, если индекс меньше нуля.Убедитесь, что имена столбцов данных заданы правильно.
Это исключение может возникнуть, если имя столбца данных, указанное в свойстве DataView.Sort, неправильно. Дополнительные сведения см. в описании класса DataView.
Пример
Описание
В следующем примере используется блок Try…Catch для перехвата исключения IndexOutOfRangeException, когда индекс i оказывается за пределами границ массива (от 0 до 3). В примере показано следующее:
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
См. также
Задачи
Практическое руководство. Использование помощника по исключениям