1. Java / Говнокод #13888

    +80

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    ...
    SomeObject o = null;
    try {
        o = someGetOperation();
    } catch (Exception e) {}
    
    try {
        o.doSomeMethod();
        ...
    } catch (Exception e) {}
    ...

    1. второй try/catch это просто защита от NPE, который возникнет, если не прошел первый try
    2. catch-секции приведены как они есть в проекте - пустые и ловится всегда Exception

    в 95% проекта (>1000 классов) используются такие конструкции

    Запостил: tir, 02 Октября 2013

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

    • on error resume next
      ?
      Ответить
      • О, и еще, поэксплуатирую идею:
        (defmacro on-error-resume-next (&body body)
          (if (consp body)
              `(ignore-errors
                 ,(loop :for element :in body
                     :collect
                     (if (consp element)
                         (loop :for sub :in element
                            :collect (macroexpand `(on-error-resume-next ,sub)))
                         element)))
              body))
        Ответить
    • Хорошо хоть не Throwable
      Ответить
      • думаю этот код такой подход бы не сильно испортил, а даже сделал НАДЕЖНЕЕ
        Ответить
        • О, еще вспомнил.

          Меня укусила акула, когда я стоял у причала,
          Но я ничего не сказал ей,
          Терпел но закончил работу!
          Ответить
          • картинка была, пародия на стратегии, чувак собирает ягоды, на него нападает волк, а он не обращает внимания, продолжает собирать, цепляясь за куст изо всех сил
            жаль, найти не могу
            Ответить
    • и главное: ему ничего не будет
      Ответить
    • забыл добавить, что в некоторых местах уровень вложенности try/catch достигает 6-7

      это просто ПИЧАЛЬ...
      Ответить
    • Зато этот код не падает.
      Ответить
      • жаба не падает, а аккуратно ложится и призывно стонет в syslog
        Ответить

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