Nikolay
Не знаю, помоему не странный код
Dr. Friedrich
Не соглашусь, очень странный.
Nikolay
Он вызывается внутри функции валидации данных, сам результат функции не интересует, главное чтобы она FormatException не вернула
Aleksandr
А почему бы не объединить валидацию с итерацией в одной операции?
Vasily
Хрень какая-то написана
Vasily
Как минимум эксепшн должен быть на каждый элемент, по идее
Nikolay
Так это может быть в InnerException
Vasily
Карочи
Vasily
Зачем вообще этот код?
Nikolay
Он вызывается внутри функции валидации данных, сам результат функции не интересует, главное чтобы она FormatException не вернула
Dr. Friedrich
Dr. Friedrich
В печи нужен
Dr. Friedrich
Классная печка, кстати.
Nikolay
Ну это типа такого:
try
{
int.Parse("hello");
}
catch (Exception)
{
}
Nikolay
:D
Nikolay
Если бы у нас не было TryParse
Dr. Friedrich
Dr. Friedrich
Nikolay
А у меня вот нет :C
Dr. Friedrich
Сделай.
Dr. Friedrich
Если это ты его и делаешь в условиях крайне бедного апи, то ок
Dr. Friedrich
Но тогда не вайни на корректные ворнинги
Dr. Friedrich
А лучше сожги там всё огнём
Aleksandr
В фшарпе, кстати, такой варнинг является варнингом уровня языка
Dr. Friedrich
Dr. Friedrich
Aleksandr
Поэтому решарпер здесь в хорошей компании
Vasily
@Dolfik , самая большая проблема в коде, это то, что его предназначение вообще очень неявное
Dr. Friedrich
Самая большая проблема в этом коде в том, что он до сих пор ещё не в печи почему-то.
Vasily
Нормальный вариант- пройтись циклом и собрать нормальные и ошибочные значения
Dr. Friedrich
Dr. Friedrich
MoveNext() кидает эксепшон и всё
Vasily
Aleksandr
Nikolay
Aleksandr
Nikolay
Это нормальный ещё код
Nikolay
Хотите покажу код, который в печь можно?
Nikolay
Но там пхп
Dr. Friedrich
Лол
Dr. Friedrich
Vasily
Это в 1.1 актуально было
Dr. Friedrich
Зип мне реализуй, например
Vasily
Dr. Friedrich
Зип
Vasily
Aleksandr
Код не такой уж страшный
Dr. Friedrich
Имхо йилд не даст работать после исключения
Vasily
Nikolay
Aleksandr
Почему? Там новый енумербл будет создаваться
Aleksandr
Dr. Friedrich
Dr. Friedrich
Aleksandr
Возможно
Dr. Friedrich
если мувнекст вернул исключение, то пирда
Nikolay
Dr. Friedrich
Больше у тебя не выйдет ничо
Nikolay
У чуваков на сайте есть три языка, русский, английский, эстонский, и для каждого языка отдельный такой пхп файл :D
Dr. Friedrich
Ты можешь заново начать перечисление, но извини, это уже другой энумератор
Aleksandr
while(..)
{
try
{
//MoveNext()
}
catch
{
continue;
}
}
Dr. Friedrich
Короче нет, не будет это работать
Dr. Friedrich
Энумератор умирает после исключения
Dr. Friedrich
Как ты себе это представляешь вообще
Dr. Friedrich
Напиши метод
yield return 1;
throw new Exception();
yield return 2
Dr. Friedrich
И попробуй поди получи из него 2
Dr. Friedrich
Фиг чо выйдет.
Dr. Friedrich
Ты можешь, конечно, сделать кастомный энумератор, который будет так работать, но это какая-то прямо высшая наркомания
Dr. Friedrich
Ну большинство вряд ли
Dr. Friedrich
Сколько таких ручных энумераторов написано? Сто? Тысяча во всём мире?
Aleksandr
Они гибче
Dr. Friedrich
А сколько раз yield return написали?
Dr. Friedrich
Они гибче
Я не говорю что не гибче
Dr. Friedrich
Я говорю что не большинство