Вот типичный код ресурса (JAR-RS) в проекте:
@Path("authenticate")
@POST
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response authenticate(Credentials credentials) {
try{
// some logic
} catch (Exception1 e) {
// etc LOGGER.error(e);
// return Response.status(Status.UN_AUTHORIZED).build();
} catch (Exception2 e) {
// etc LOGGER.error(e);
// return Response.status(Status.CAN_NOT_CREATE_TOKEN).build();
} catch (Exception3 e) {
// etc LOGGER.error(e);
// return Response.status(Status.SOME_OTHER_ERROR).build();
}
// return good stuff
}
Код рабочий, но не красивый. Погуглил как сократить количество catch без ущерба - не нашел, порылся в книге по ресту, тоже не нашел. Может кто уже сталикивался с таким может поделиться опытом? Хочу уменшить количество catch без ущерба, потому что в не которых местах есть по 10 catch'ей.
Более менее полезная находка