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
Nikolay
А у меня вот нет :C
Dr. Friedrich
Сделай.
Dr. Friedrich
Если это ты его и делаешь в условиях крайне бедного апи, то ок
Dr. Friedrich
Но тогда не вайни на корректные ворнинги
Dr. Friedrich
А лучше сожги там всё огнём
Aleksandr
В фшарпе, кстати, такой варнинг является варнингом уровня языка
Dr. Friedrich
Dr. Friedrich
В фшарпе, кстати, такой варнинг является варнингом уровня языка
Ну у нас есть и норм функция чтоб его подавить.
Aleksandr
Поэтому решарпер здесь в хорошей компании
Vasily
@Dolfik , самая большая проблема в коде, это то, что его предназначение вообще очень неявное
Dr. Friedrich
Самая большая проблема в этом коде в том, что он до сих пор ещё не в печи почему-то.
Vasily
Нормальный вариант- пройтись циклом и собрать нормальные и ошибочные значения
Dr. Friedrich
MoveNext() кидает эксепшон и всё
Aleksandr
MoveNext() кидает эксепшон и всё
Ловим и идем дальше
Vasily
Ловим и идем дальше
Форич не работает тогда
Dr. Friedrich
Ловим и идем дальше
Это законно разве?
Aleksandr
Nikolay
Это нормальный ещё код
Nikolay
Хотите покажу код, который в печь можно?
Nikolay
Но там пхп
Dr. Friedrich
Лол
Vasily
А while работает
Ну это некрофилия с getenumerator
Dr. Friedrich
Vasily
Это в 1.1 актуально было
Dr. Friedrich
Это в 1.1 актуально было
иногда до сих пор нужно
Dr. Friedrich
Зип мне реализуй, например
Dr. Friedrich
Зип
Vasily
Зип
Логично
Aleksandr
Ну это некрофилия с getenumerator
Да, но ее можно прикрыть за зановеской, из-за которой вызывающей стороне будут йилдом йилдяться значения
Aleksandr
Код не такой уж страшный
Dr. Friedrich
Имхо йилд не даст работать после исключения
Vasily
Имхо йилд не даст работать после исключения
Вроде же там делали трай катч для елды
Nikolay
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
Ты можешь, конечно, сделать кастомный энумератор, который будет так работать, но это какая-то прямо высшая наркомания
Aleksandr
Напиши метод yield return 1; throw new Exception(); yield return 2
Это потому что у нас yield throw нет. Но чет мне кажется, что большинство энумераторов пишут вообще не на йилдах, а руками наследуют IEnumerator<_>. Вот туда можно напихать всякого
Dr. Friedrich
Ну большинство вряд ли
Dr. Friedrich
Сколько таких ручных энумераторов написано? Сто? Тысяча во всём мире?
Aleksandr
Они гибче
Dr. Friedrich
А сколько раз yield return написали?
Dr. Friedrich
Они гибче
Я не говорю что не гибче
Dr. Friedrich
Я говорю что не большинство