Depois de passar pela maioria das respostas aqui, gostaria de acrescentar algumas idéias.
Confiar nos comentários da documentação XML e esperar que outros confiem é uma escolha ruim. A maior parte do código C # que encontrei não documenta métodos completa e consistentemente com Comentários de documentação XML. E há o maior problema de que, sem as exceções verificadas em C #, como você poderia documentar todas as exceções que seu método lança para que o usuário da API saiba como lidar com todas individualmente? Lembre-se de que você só conhece aqueles em que se lança com a palavra-chave throw em sua implementação. APIs que você está usando dentro de sua implementação de método também podem lançar exceções que você não conhece, porque podem não estar documentadas e você não está lidando com elas em sua implementação, então elas explodirão em face do chamador de seu método. Em outras palavras,
Andreas vinculou uma entrevista com Anders Hejlsberg nas respostas aqui sobre por que a equipe de design do C # decidiu contra as exceções verificadas. A resposta final para a pergunta original está oculta nessa entrevista:
Os programadores protegem seu código escrevendo try finally em todo lugar, então eles voltarão corretamente se ocorrer uma exceção, mas eles não estão realmente interessados em lidar com as exceções.
Em outras palavras, ninguém deve estar interessado em que tipo de exceção pode ser esperada para uma API em particular, pois você sempre irá capturar todas elas em todos os lugares. E se você quiser realmente se preocupar com exceções específicas, como tratá-las depende de você e não de alguém definindo uma assinatura de método com algo como a palavra-chave Java throws, forçando o tratamento de uma exceção específica em um usuário API.
-
Pessoalmente, estou dividido aqui. Concordo com Anders que verificar as exceções não resolve o problema sem adicionar problemas novos e diferentes. Assim como com os comentários da documentação XML, raramente vejo código C # com tudo incluído nos blocos try finally. Parece-me que esta é realmente sua única opção e algo que parece uma boa prática.