Задать вопрос
@TechNOIR

C#. Как исключить ошибку в данном случае?

Добрый день.

При поиске строки в файле по регулярному выражению если не находит результата валится в ошибку.
Как можно исключить ошибку? Чтобы дальше продолжала молча если не нашла

output = File.ReadLines(tempOutputFile + ".txt").Single(l => Regex.IsMatch(l, "^.*[0-9][А-я].*$"));
  • Вопрос задан
  • 68 просмотров
Подписаться 1 Простой 1 комментарий
Помогут разобраться в теме Все курсы
  • Учебный центр IBS
    SDP-030_PRG Продвинутая разработка в Microsoft .NET
    1 неделя
    Далее
  • Ulearn.me
    Проектирование на языке C#
    1 неделя
    Далее
  • Ulearn.me
    Основы программирования на примере C#. Часть 2
    1 неделя
    Далее
Пригласить эксперта
Ответы на вопрос 2
VoidVolker
@VoidVolker Куратор тега C#
Dark side eye. А у нас печеньки! А у вас?
try 
{
    output = File.ReadLines(tempOutputFile + ".txt").Single(l => Regex.IsMatch(l, "^.*[0-9][А-я].*$"));
} 
catch(Exception e)
{

}
Ответ написан
Комментировать
shai_hulud
@shai_hulud
Использовать SingleOrDefault вместо Single. Тогда в output будет null, если ничего не найдено.
output = File.ReadLines(tempOutputFile + ".txt").SingleOrDefault(l => Regex.IsMatch(l, "^.*[0-9][А-я].*$"));

Если может быть больше одного совпадения то заменить на FirstOrDefault, LastOrDefault
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы