Mi regla es que debes usar el manejo de excepciones para casos específicos o "excepcionales". Un manejo global de excepciones debe manejar las excepciones no manejadas.
El seguimiento de la pila debe usarse para ayudarte a identificar dónde ocurrió algo.
Hay casos en los que podrías esperar una excepción y querer manejarla, como una FileNotFoundException. Sabes que podría ocurrir y quieres manejarla antes del manejador global, y no lanzar una excepción, sino mostrar un diálogo.
Usar ifs para evitar excepciones es bueno si conoces la condición (por supuesto), pero es importante usar ifs vs manejo de excepciones en un bucle muy ajustado con 10k+ iteraciones, ya que es una buena mejora de rendimiento. Las excepciones deshacen la pila y pueden ralentizar realmente los bucles. Si puedes anticipar las condiciones de error, entonces manejalas de antemano.
Tener un manejador global de excepciones es DRY. (Don't repeat yourself), especialmente para el registro. Mantiene el código de registro fuera de los lugares que no lo necesitan necesariamente. El código debe hacer una sola cosa (Principio de responsabilidad única) para mantenerlo libre de dependencias innecesarias.
Como con cualquier cosa, úsalo con prudencia y deberías poder justificar por qué lo usas además de "Me gusta así".
Las siglas extravagantes son geniales, pero siempre entiende por qué necesitas hacer las cosas y si tienen sentido para ti. ¿Hacen que el código sea más fácil de mantener? ¿Lo hacen más simple, más enfocado?
No hay comentarios:
Publicar un comentario