RegexParseException
В .NET 7 и новее конструктор Regex
для неверного шаблона бросает
RegexParseException, а не
ArgumentException. Например, строка
"[" без закрывающей скобки не
компилируется. Исключение перехватывают до
поиска по тексту.
Синтаксис
using System.Text.RegularExpressions;
var regex = new Regex("abc");
Пример
Давайте поймаем RegexParseException:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
try
{
var regex = new Regex("[");
}
catch (RegexParseException)
{
Console.WriteLine("fail");
}
}
}
Результат выполнения кода:
"fail"
Пример
Давайте создадим корректный шаблон без исключения:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
var regex = new Regex("abcde");
Console.WriteLine(regex.IsMatch("abcde"));
}
}
Результат выполнения кода:
True
Пример
Давайте проверим тип исключения:
using System;
using System.Text.RegularExpressions;
class Program
{
static void Main()
{
try
{
var regex = new Regex("[");
}
catch (RegexParseException ex)
{
Console.WriteLine(ex is Exception);
}
}
}
Результат выполнения кода:
True
Смотрите также
-
JsonException,
сбой разбора JSON-текста -
FormatException,
общий сбой формата строки -
UriFormatException,
неверный URI -
throw,
которым задают сбой в других примерах