ThrowIfNullOrEmpty
ArgumentException.ThrowIfNullOrEmpty принимает
строку и имя параметра. При null или
"" выбрасывается исключение. Строка
из одних пробелов не считается пустой - для
неё есть ThrowIfNullOrWhiteSpace.
Успешный вызов ничего не выводит.
Синтаксис
ArgumentException.ThrowIfNullOrEmpty(value, nameof(value));
Пример
Давайте поймаем сбой для пустой строки:
using System;
class Program
{
static void Main()
{
string value = "";
try
{
ArgumentException.ThrowIfNullOrEmpty(value, nameof(value));
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"The value cannot be an empty string. (Parameter 'value')"
Пример
Давайте успешно проверим непустую строку:
using System;
class Program
{
static void Main()
{
string value = "abcde";
try
{
ArgumentException.ThrowIfNullOrEmpty(value, nameof(value));
Console.WriteLine("ok");
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"ok"
Пример
Давайте сравним пробелы с ThrowIfNullOrWhiteSpace:
using System;
class Program
{
static void Main()
{
string spaced = " ";
ArgumentException.ThrowIfNullOrEmpty(spaced, nameof(spaced));
try
{
ArgumentException.ThrowIfNullOrWhiteSpace(spaced, nameof(spaced));
}
catch (ArgumentException ex)
{
Console.WriteLine(ex.Message);
}
}
}
Результат выполнения кода:
"The value cannot be an empty string or composed entirely of whitespace. (Parameter 'spaced')"
Смотрите также
-
ArgumentException,
базовый тип для пустой строки -
ThrowIfNull,
проверка только наnull -
ArgumentNullException,
если строкаnull -
throw,
оператор выброса исключения