Compartilhar via


Exceções de solução de problemas: System.IndexOutOfRangeException

Uma exceção IndexOutOfRangeException é gerada quando é feita uma tentativa de acessar um elemento de uma matriz ou coleção com um índice que está fora das associações da matriz ou menor que zero.

Dicas relacionadas

  • Verifique se o índice máximo em uma lista é menor que o tamanho da lista
    O índice máximo em uma lista deve ser menor que o tamanho da lista.

  • Verifique se o índice não é um número negativo.
    Essa exceção será gerada se o índice for menor que zero.

  • Verifique se os nomes da coluna de dados estão corretos.
    Esta exceção poderá ser gerada se o nome da coluna de dados que está sendo fornecido à propriedade DataView.Sort não for válido. Para obter mais informações, consulte a classe DataView.

Exemplo

Descrição

O exemplo a seguir usará um bloco Try…Catch para interceptar o IndexOutOfRangeException quando o índice i estiver fora dos limites da matriz, de 0 a 3. O exemplo ilustra o seguinte:

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

Consulte também

Tarefas

Como usar o Assistente de Exceção

Referência

IndexOutOfRangeException

Outros recursos

Matrizes no Visual Basic