Tengo una reunión de normas de codificación en poco más de una hora y necesito una respuesta rápida a esta.Necesito una fuente autorizada de por qué no debes arrojar o atrapar java.lang.Exception
La sabiduría común entre los programadores con experiencia de Java es que no arrojar o atrapar java.lang.Exception (con raras excepciones, sin juego de palabras). La razón por la que no lo hace es que la declaración
catch (java.lang.Exception ex) {...}
también capturar las excepciones sin marcar, y en la mayoría de los casos esto no es lo que se pretende.
Ya tenemos una gran cantidad de código heredado escrito por los miembros del equipo existentes donde detectan una subclase de java.lang.Exception, registran un error y vuelven a lanzar la subclase como java.lang.Exception.
tengo que convencerlos de que
- que necesitan para dejar de escribir código como este.
- código existente que utiliza este anti-patrón tiene que ser fijo
número 2 significa una buena cantidad de refactorización.
Acortará el argumento en la reunión si puedo mostrar un artículo o entrada de blog por uno de los pesos pesados de la comunidad Java que hace este punto (es decir, Joshua Bloch, James Gosling). Mi google-fu no ha encontrado nada hasta ahora.
¿Alguien sabe de un artículo o blog de un respetado gurú de Java que dice que no se debe lanzar o atrapar java.lang.Exception?
Las respuestas rápidas son muy apreciadas.
Dean
sólo quieren mostrar que pregunta: http://stackoverflow.com/questions/237585/java-lang-exception-vs-rolling-your-own-exception Algunas respuestas agradables en ella me – bastianneu
leer eso antes de publicar esto. Un par de respuestas y comentarios dicen lo mismo, pero estoy buscando una autoridad. Esto dará como resultado una buena cantidad de refactorización, por lo que sería útil contar con la opinión de un experto para respaldarme. –