Ничего себе, я только что вернул огромный проект на С# от сторонних разработчиков, и, просматривая мой обзор кода, мой инструмент анализа обнаружил пучки того, что он считал плохим. Одним из наиболее неприятных сообщений было:
Exceptions.DontSwallowErrorsCatchingNonspecificExceptionsRule : 2106 defects
Разработчики уверяют меня, что у них есть веская причина для всех пустых блоков catch, которые иногда пытаются с пустыми блоками catch, чтобы игнорировать бесполезные исключения и не допустить сбой приложения. Я чувствую, что это полицейский и полный BS. Некоторые из примеров, которые я действительно искал, были вызовами базы данных, где запись была сохранена в базе данных, и в этом случае, если исключение было проигнорировано, пользователь вернул бы подсказку, считая, что все в порядке, и продолжайте их работа. На самом деле их работа никогда не спасалась. Я думаю, что это абсолютно ужасная ошибка. В этом случае они совершенно ошибочны, бросая этот код в попытке с пустым блоком catch. Но мой вопрос: "Является ли это КАЖДОЕ приемлемым в ЛЮБОЙ ситуации?" Я думаю, что нет, но я, как известно, ошибался.