Compartir a través de


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

Referencia

IndexOutOfRangeException

Otros recursos

Matrices en Visual Basic