1. C# / Говнокод #19563

    +5

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    int tries = 0;
    while (true)
    {
    	try
    	{
    		DoSomething();
    	}
    	catch
    	{
    		if (++tries > 3)
    			throw;
    	}
    }

    Оригинальный способ попытаться выполнить некий код, давая ему на это N попыток , а только потом упасть с ошибкой.

    Запостил: leon_mz, 02 Марта 2016

    Комментарии (13) RSS

    • а если не выбросит, то типа будет работать всегда?
      Ответить
      • упущено при вычищании кода и копировании его сюда - в блоке try наличествует break;
        Ответить
    • особенно оригинальна задержка между попытками
      Ответить
    • И что в этом в принципе такого? Может там были коннекты куда-то?
      Ответить
      • неудачные коннекты обычно возвращают ошибку а не выкидывают
        Ответить
        • А если они были удачные, но потом вдруг что-то пошло не так?
          Ответить
          • ну так пусть враппер ловит исключения и возвращает ошибки
            Ответить
        • Я не знаток сишарпа, но в яве это точно не так.
          Ответить
    • Если break в оригинале был, то всё не так уж и плохо. Разве что ошибки желательно более детально разбирать.

      Преложи свой вариант.
      Ответить
    • В 6ом C# запилили Exception Filters, по сути тоже самое, что хотел автор данного кода.
      Ответить
      • А я то думал "нахер оно нужно?" Ну теперь ясно. целевая аудитория нашлась
        Ответить
        • для любого сахарка найдется своя кобылка
          Ответить
    • Супервизора не хватает
      Ответить

    Добавить комментарий