He leído un procedimiento de este tipo:¿Deberíamos atrapar siempre una Excepción, envolverla y pasarla?
public void doSomething throws MyException{
...
try {
doSomthingElse();
} catch (MyException e){
log.errer(e.getMessage());
throw new MyException(e.getMessage(),e);
}
...
}
Pero prefiero:
public void doSomething throws MyException{
...
doSomthingElse();
...
}
Alguien sabe alguna razón para el primer método? Solo hay un tipo de Excepción, y no se maneja con este método, ¿hay alguna razón para atraparlo, envolverlo sin nueva información y luego pasarlo a otro? ¿Por qué no simplemente escribirlo de la segunda manera? ¡Gracias!
¿Por qué todos sienten que necesitan detectar excepciones? No atrapes cosas que no puedes * hacer nada con *. Las excepciones saltan automáticamente a la pila si no las tocas. No hay absolutamente ninguna razón para * volver a tirar * ellos (y hacerlo tiene consecuencias negativas, como perder información valiosa). Y si * puedes * hacer algo con la excepción, bueno, estás bordeando sospechosamente en el territorio de usar excepciones para el control de flujo, lo que probablemente no deberías hacer en primer lugar. –