Compartilhar via


Solucionando problemas de exceções: sistema.ArgumentException

An ArgumentException exceção é lançada quando pelo menos um dos argumentos fornecidos para um método não atende as especificações dos parâmetros do método.

No exemplo a seguir, a exceção é lançada quando o argumento enviado para o método DivideByTwo não é um número par.

Module Module1

    Sub Main()

        ' ArgumentException is not thrown in DivideByTwo because 10 is 
        ' an even number.
        Console.WriteLine("10 divided by 2 is {0}", DivideByTwo(10))
        Try
            ' ArgumentException is thrown in DivideByTwo because 7 is 
            ' not an even number.
            Console.WriteLine("7 divided by 2 is {0}", DivideByTwo(7))
        Catch argEx As ArgumentException
            ' Tell the user which problem is encountered.
            Console.WriteLine("7 cannot be evenly divided by 2.")
            Console.WriteLine("Exception message: " & argEx.Message)
        End Try
        ' Uncomment the next statement to see what happens if you call 
        ' DivideByTwo directly.
        'Console.WriteLine(DivideByTwo(7))

    End Sub

    Function DivideByTwo(ByVal num As Integer) As Integer

        ' If num is an odd number, throw an ArgumentException. The
        ' ArgumentException class provides a number of constructors
        ' that you can choose from.
        If num Mod 2 = 1 Then
            Throw New ArgumentException("Argument for num must be" & _
                " an even number.")
        End If

        ' Value of num is even, so return half of its value.
        Return num / 2

    End Function

End Module

Todas as instâncias do ArgumentException classe deve incluir informação que especifica o argumento inválido e o que é o intervalo de valores aceitáveis. Se uma exceção mais precisa, sistema autônomo ArgumentNullException ou ArgumentOutOfRangeException, descreve com precisão a situação, ele deve ser usado em vez de ArgumentException.

Para obter mais informações sobre essa exceção, incluindo exemplos em outros idiomas, consulte ArgumentException. Para obter uma lista de construtores adicionais, consulte ArgumentException().

Consulte também

Tarefas

Como: Descubra mais sobre uma exceção com Assistente de Exceção

Referência

ArgumentException

Date

History

Motivo

Julho de 2008

Adicionado um exemplo e obter informações adicionais sobre a exceção.

Comentários do cliente.