Если вы когда-либо видели код с этим шаблоном:
} catch(...) {
// no code
}
Узнайте, кто это написал, и вышибите из них. Я серьезно. Попытайтесь заставить их уволить - они не понимают отладочную часть программирования ни в каком виде, форме или форме.
Полагаю, если они программист-ученик, вы можете просто выбить из них все дерьмо и дать им ОДИН второй шанс.
Даже для временного кода - никогда не стоит вероятность, что он каким-то образом будет перенесен в рабочий код.
Этот тип кода вызван проверенными исключениями, иначе разумная идея превратилась в огромную языковую ловушку из-за того, что в какой-то момент мы все увидим код, подобный этому выше.
Для решения этой проблемы могут потребоваться ДНИ, если не НЕДЕЛИ. Таким образом, вы должны понимать, что кодируя это, вы потенциально стоите компании десятки тысяч долларов. (Есть еще одно хорошее решение, оштрафуйте их на всю зарплату, потраченную из-за этой глупости - держу пари, они никогда ЭТОГО больше не сделают).
Если вы ожидаете (отлавливаете) данную ошибку и обрабатываете ее, убедитесь, что:
- Вы знаете, что обработанная ошибка является ЕДИНСТВЕННЫМ ВОЗМОЖНЫМ источником этого исключения.
- Любые другие случайно обнаруженные исключения / причины либо сбрасываются, либо регистрируются.
- Вы не получаете широкого исключения (Exception или Throwable)
Если я звучу агрессивно и сердито, это потому, что я потратил несколько недель на то, чтобы найти скрытые ошибки, подобные этой, и, как консультант, не нашел никого, кто бы мог их устранить. К сожалению.