В именно этом случае я бы сделал какой-то вспомогательный класс, который возвращает нужный статус в зависимости от класса ошибки.
Например
public static Status getStatus(Exception e) {
if (e.getClass.equals(MyCoolUnautorisedException.class)) {
return Status.UN_AUTHORIZED;
}
// More Exception handlers
return null; //If something gone wrong
}
//Main code
try {
// some logic
} catch (Exception e) {
// etc LOGGER.error(e);
return Response.status(SomeStatusHandler.getStatus(e)).build();
} finally {
//Here we go!
}