Condividi tramite


Risoluzione dei problemi relativi alle eccezioni: System.IndexOutOfRangeException

Un'eccezione IndexOutOfRangeException viene generata quando viene eseguito un tentativo di accedere a un elemento di una matrice o di un insieme con un indice che non rientra nei limiti della matrice o è minore di zero.

Suggerimenti associati

  • Assicurarsi che le dimensioni massime dell'indice in un elenco siano inferiori alle dimensioni dell'elenco.
    Le dimensioni massime dell'indice in un elenco devono essere inferiori alle dimensioni dell'elenco.

  • Assicurarsi che il valore dell'indice non sia un numero negativo.
    Se l'indice è minore di zero, verrà generata questa eccezione.

  • Assicurarsi che i nomi delle colonne di dati siano corretti.
    Se il nome della colonna di dati specificato nella proprietà DataView.Sort non è valido, è possibile che venga generata questa eccezione. Per ulteriori informazioni, vedere la classe DataView.

Esempio

Descrizione

Nell'esempio seguente viene utilizzato un blocco Try…Catch per generare IndexOutOfRangeException quando l'indice i non rientra nei limiti della matrice 0 - 3. Nell'esempio viene illustrato quanto segue:

Element at index 0: 3

Element at index 2: 5

Element at index -1: IndexOutOfRangeException caught

Element at index 4: IndexOutOfRangeException caught

Codice

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

Vedere anche

Attività

Procedura: utilizzare Informazioni sulle eccezioni

Riferimenti

IndexOutOfRangeException

Concetti

Arrays in Visual Basic