Partager via


Dépannage des exceptions : System.IndexOutOfRangeException

Une exception IndexOutOfRangeException est levée lors d'une tentative d'accès à un élément d'un tableau ou d'une collection ayant un index en dehors des limites du tableau ou inférieur à zéro.

Conseils associés

  • Assurez-vous que la taille maximale de l'index sur une liste est inférieure à la taille de la liste.
    L'index maximal sur une liste doit être inférieur à la taille de la liste.

  • Assurez-vous que l'index n'est pas un nombre négatif.
    Cette exception est levée si l'index est inférieur à zéro.

  • Assurez-vous que les noms des colonnes de données sont corrects.
    Cette exception peut être levée si le nom de la colonne de données fourni à la propriété DataView.Sort n'est pas valide. Pour plus d'informations, consultez la classe DataView.

Exemple

Description

L'exemple suivant utilise un bloc Try…Catch pour intercepter l'exception IndexOutOfRangeException lorsque l'index i se trouve en dehors des limites d'index de tableau, 0 à 3. L'exemple affiche les éléments suivants :

Element at index 0: 3

Element at index 2: 5

Element at index -1: IndexOutOfRangeException caught

Element at index 4: IndexOutOfRangeException caught

Code

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

Voir aussi

Tâches

Comment : utiliser l'Assistant Exception

Référence

IndexOutOfRangeException

Concepts

Tableaux dans Visual Basic