Unsere Webanwendung verwendet eine ExceptionMapper
, um einige Ausnahmen zuzuordnen Response
. Wir protokollieren die Ausnahmemeldungen, bevor wir eine neue Ausnahme auslösen:
catch (SomeException ex) {
LOG.error(ex.getMessage());
throw new MyException(ex.getMessage());
}
Wir lösen nicht dieselbe Ausnahme erneut aus , daher ist meine Frage, ob dies als ein Protokoll- und Wurf-Antipattern angesehen wird . Daher ist es besser, die Protokollierung an ähnlichen Stellen zu entfernen und sie ExceptionMapper
wie folgt in die verschiedenen Klassen zu verschieben :
@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();
}
}
ex.getMessage()
, das ist schon falsch.