Después de leer la mayoría de las respuestas aquí, me gustaría agregar un par de pensamientos.
Confiar en los comentarios de documentación XML y esperar que otros confíen en ellos es una mala elección. La mayoría del código C # con el que me he encontrado no documenta los métodos de forma completa y coherente con los comentarios de documentación XML. Y luego está el problema más grande de que sin las excepciones marcadas en C #, ¿cómo podría documentar todas las excepciones que arroja su método con el propósito de que su usuario de API sepa cómo manejarlas todas individualmente? Recuerde, solo conoce los que lanza usted mismo con la palabra clave throw en su implementación. Las API que está utilizando dentro de la implementación de su método también pueden generar excepciones que no conoce porque es posible que no estén documentadas y no las esté manejando en su implementación, por lo que explotarán frente a la persona que llama de su método. En otras palabras,
Andreas vinculó una entrevista con Anders Hejlsberg en las respuestas aquí sobre por qué el equipo de diseño de C # decidió no ver las excepciones. La respuesta definitiva a la pregunta original está oculta en esa entrevista:
Los programadores protegen su código escribiendo try.
En otras palabras, nadie debería estar interesado en qué tipo de excepción se puede esperar para una API en particular, ya que siempre las encontrará todas en todas partes. Y si realmente quiere preocuparse por las excepciones particulares, cómo manejarlas depende de usted y no de alguien que defina una firma de método con algo como la palabra clave Java throws, lo que obliga a un usuario de API a manejar excepciones particulares.
-
Personalmente, estoy desgarrado aquí. Estoy de acuerdo con Anders en que haber verificado las excepciones no resuelve el problema sin agregar problemas nuevos y diferentes. Al igual que con los comentarios de la documentación XML, rara vez veo código C # con todo envuelto en bloques de prueba finalmente. Me parece que esta es de hecho su única opción y algo que parece una buena práctica.