Solución de problemas de excepciones: System.IndexOutOfRangeException
Cuando se intenta obtener acceso a un elemento de una matriz o colección con un índice que se encuentra fuera de los límites de la matriz o que es menor que cero, se produce una excepción IndexOutOfRangeException.
Sugerencias asociadas
Asegúrese de que el índice máximo de una lista sea inferior a su tamaño.
El índice máximo de una lista debe ser menor que el tamaño de la lista.Asegúrese de que el índice no sea un número negativo.
Esta excepción se producirá si el índice es menor que cero.Asegúrese de que los nombres de la columna de datos sean correctos.
Esta excepción se puede producir si el nombre de la columna de datos que se proporciona para la propiedad DataView.Sort no es válido. Para obtener más información, vea la clase DataView.
Ejemplo
Descripción
En el siguiente ejemplo se utiliza un bloque Try…Catch para interceptar IndexOutOfRangeException cuando el índice i está fuera de los límites de la matriz, 0 a 3. En el ejemplo siguiente se muestra lo siguiente:
Element at index 0: 3
Element at index 2: 5
Element at index -1: IndexOutOfRangeException caught
Element at index 4: IndexOutOfRangeException caught
Código
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
Vea también
Tareas
Cómo: Usar el Asistente de excepciones