Condividi tramite


Risoluzione dei problemi relativi alle eccezioni: System.ArgumentException

Viene generata un'eccezione ArgumentException quando almeno uno degli argomenti forniti a un metodo non soddisfa le specifiche dei parametri del metodo.

Nell'esempio seguente l'eccezione viene generata quando l'argomento inviato al metodo DivideByTwo non è un numero pari.

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

Tutte le istanze della classe ArgumentException devono includere informazioni che specificano l'argomento non valido e l'intervallo di valori accettabili. Se un'eccezione più precisa, ad esempio ArgumentNullException o ArgumentOutOfRangeException, descrive la situazione in mopo accurato, deve essere utilizzata tale eccezione anziché ArgumentException.

Per ulteriori informazioni su questa eccezione, compresi esempi in altri linguaggi, vedere ArgumentException. Per un elenco di costruttori aggiuntivi, vedere ArgumentException().

Vedere anche

Attività

Procedura: utilizzare Informazioni sulle eccezioni

Riferimenti

ArgumentException