Предположительно, потому что CLR не использует спецификации исключений; это в свою очередь предположительно потому, что Microsoft посмотрела на Java и решила, что они доставляют гораздо больше хлопот, чем стоят.
Так что лучшая практика для определения того, какие исключения выдают ваши методы - не беспокоить, то есть удалять спецификации исключений. Стоит отметить, что даже в обычном мире C ++ (т. Е. Нативном) большинство людей либо полностью отказываются от спецификаций исключений, либо используют только пустую спецификацию, чтобы указать, что метод не генерирует.