C# /. Сеть не имеет проверяемые исключения, они оказались менее полезными в крупномасштабных системах, чем первая мысль. Во многих проектах время для поддержки спецификаций исключений проверки было намного больше, чем время отладки, сэкономленное за счет их наличия.
Проверено Исключения выглядят как хороший идеал, пока у вас не будет методов, которые могут принимать делегаты или вызовы в объект, в который вы проходите. Возьмем простой случай, метод Sort() в списке не может знать, какие исключения он будет бросать, поскольку он не знает, какие исключения сравнивает метод Compar() на отсортированных объектах.
Таким образом, спецификация исключений, которые метод может бросать, должна иметь возможность включать информацию о том, как исключения заполняются из прохода в объектах и делегатах. Никто не знает, как это сделать!
Однако есть инструменты, которые вы проверяете, если вы ловите все исключения - см. Exception Hunter от Red Gate. Я лично не вижу большой ценности в этом инструменте, однако, если вам нравятся проверенные исключения, вы можете найти их полезными.
Я предполагаю, что версия .NET Framework будет иметь здесь значение, но в версиях, которые я использую, ответ: вы правильно документируете потенциальные исключения, и нет - никоим образом не принудительно вводить тип исключенного (не более захват всех исключений за пределами и повторная упаковка их в ваш предпочтительный тип). Это не просто исключения, которые вы могли бы генерировать в методе, есть и любые, что вы допускаете пузырь. – Rudu