Casi me siento avergonzado de preguntar, pero siempre lucho con la forma de organizar las definiciones de excepción. Las tres formas en que he hecho esto anteriormente son:¿Cómo prefiere organizar las definiciones de excepción?
- Utilice la regla de archivo por clase. No estoy loco por esto porque complica mi estructura de directorios y espacios de nombres. Podría organizarlos en subdirectorios y segmentar espacios de nombres para ellos, pero realmente no me gusta eso, y así no es como suelen hacerlo las bibliotecas estándar.
- ponga las definiciones en un archivo que contenga la (s) clase (s) relacionada (s). Realmente tampoco me gusta esto porque las definiciones de excepción están dispersas y pueden ser difíciles de encontrar sin la ayuda de una herramienta de navegación de código.
- Un archivo con todas las definiciones de excepción para un espacio de nombres o "paquete" de clases relacionadas. Esto es un tipo de compromiso entre los dos anteriores, pero puede dejar situaciones en las que es difícil saber qué excepciones "pertenecen" a un grupo particular de clases o conjunto de funcionalidades.
Realmente no me gusta nada de lo anterior, pero ¿hay algún tipo de práctica que no he aprendido que sería mejor?
Editar: Interesante. A partir de la "programación de Microsoft Visual C# 2008: El lenguaje", sugiere Donis:
Para mayor comodidad y facilidad de mantenimiento, excepciones de aplicación Implementar como un grupo en un montaje separado. (p.462)
Me pregunto por qué?
¿Cómo es este lenguaje-agnóstico? – ykaganovich
¿Cómo no es? Varios idiomas tienen soporte de excepción. –
Su pregunta no tiene ningún sentido en Java ... o JavaScript ... suena como algo específico de .NET – ykaganovich