ArgumentException
Конструктор new ArgumentException(message, paramName)
принимает сначала текст, затем имя параметра.
В свойстве Message к тексту добавляется
имя в скобках. Не путайте с
ArgumentNullException,
где первым аргументом идёт имя параметра.
Синтаксис
throw new ArgumentException("текст", "paramName");
Пример
Давайте поймаем исключение и выведем Message:
using System;
class Program
{
static void Main()
{
try
{
throw new ArgumentException("abcde", "value");
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"abcde (Parameter 'value')"
Пример
Давайте передадим другое имя параметра:
using System;
class Program
{
static void Main()
{
try
{
throw new ArgumentException("bad", "index");
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"bad (Parameter 'index')"
Пример
Давайте проверим тип через базовый класс:
using System;
class Program
{
static void Main()
{
try
{
throw new ArgumentException("abcde", "value");
}
catch (Exception ex)
{
Console.WriteLine(ex is ArgumentException);
}
}
}
Результат выполнения кода:
True
Смотрите также
-
ThrowIfNullOrEmpty,
который бросает при null или"" -
ArgumentNullException,
когда аргумент равенnull -
Exception,
базовый тип исключений -
throw,
который прерывает выполнение