C # /. Net не проверял исключения, они оказались менее полезными в крупномасштабных системах, чем предполагалось на первый взгляд.Во многих проектах время на поддержание спецификаций проверочных исключений было намного больше, чем время отладки, сэкономленное их наличием.
Проверенные исключения кажутся хорошим идеалом, пока у вас нет методов, которые могут принимать делегаты или вызовы впередаваемый объект. Возьмем простой случай: метод Sort () в списке не может знать, какие исключения он выдаст, поскольку он не знает, какие исключения вызовет метод Compar () для сортируемых объектов.
Таким образом, спецификация для исключений, которые может генерировать метод, должна включать в себя информацию о том, как заполняются исключения из pass в объектах и делегатах. Никто не знает, как это сделать!
Однако есть инструменты, которые вы проверяете, ловите ли вы все исключения - см. Охотник за исключениями от Red Gate.Лично я не вижу особой ценности в этом инструменте, однако, если вам нравятся отмеченные исключения, вы можете найти их полезными.