Разрешение вопросов, связанных с исключениями: System.ArgumentException
Исключение ArgumentException возникает, если хотя бы один из передаваемых методу аргументов не соответствует спецификациям параметров данного метода.
В следующем примере кода показан вызов исключения, когда переданный методу DivideByTwo аргумент не является четным числом.
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
Все экземпляры класса ArgumentException должны включать информацию, указывающую, какой аргумент не является допустимым, и каков диапазон допустимых значений. Если ситуации соответствует более точное исключение, такое как ArgumentNullException или ArgumentOutOfRangeException, следует использовать его вместо ArgumentException.
Дополнительные сведения об этом исключении, в том числе примеры кода на других языках, см. в разделе ArgumentException. Список дополнительных конструкторов см. в разделе ArgumentException().
См. также
Задачи
Практическое руководство. Использование помощника по исключениям