Compartir a través de


Solución de problemas de excepciones: System.ArgumentException

Se produce una excepción ArgumentException cuando al menos uno de los argumentos proporcionados a un método no cumple las característica técnicas de los parámetros del método.

En el ejemplo siguiente, la excepción se produce cuando el argumento enviado al método DivideByTwo no es un 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 las instancias de la clase ArgumentException deberían incluir información que especifique qué argumento no es válido y cuál es el intervalo de valores aceptables. Si una excepción más precisa, como ArgumentNullException o ArgumentOutOfRangeException, describe mejor la situación, se debería utilizar en lugar de ArgumentException.

Para obtener más información sobre esta excepción, incluidos ejemplos en otros lenguajes, vea ArgumentException. Para obtener una lista de los constructores adicionales, vea #ctor.

Vea también

Tareas

Cómo: Usar el Asistente de excepciones

Referencia

ArgumentException