La nostra applicazione web utilizza un ExceptionMapper
per mappare alcune eccezioni a Response
. Registriamo i messaggi di eccezione prima di lanciare una nuova eccezione come segue:
catch (SomeException ex) {
LOG.error(ex.getMessage());
throw new MyException(ex.getMessage());
}
Siamo non ri-lanciare la stessa eccezione , quindi la mia domanda è se questo sarebbe considerato un Log and Throw antipattern . E quindi, sarebbe meglio rimuovere la registrazione in luoghi simili e spostarli nelle diverse classi ExceptionMapper
come segue:
@Provider
public class MyExceptionMapper implements ExceptionMapper<MyException> {
// bla bla
@Override
public Response toResponse(final MyException ex) {
LOG.error(ex.getMessage());
return Response.status(400).entity("something").build();
}
}