Cześć.
Mam aplikację w Spring 4 która poprzez RestTemplate Springowe pobiera obiekty z zewnętrznego Api.
W tej chwili jest to rozwiązane w sposób mniej więcej taki, że jest klasa, która filtruje wyjątki, raportuje do bazy i jesli przyjdzie jakikolwiek wyjątek z Api to zwraca pusty obiekt do kodu dalej. Oczywiście metoda filtrująca jest wywoływana w kodzie kiedy chcę pobrać dane z api.

    class SomeObject {

    }

    class Service {
        public SomeObject getObjectFromApi() {
            return //someObjectFromApi;
        }
    }

    class ExceptionFilter {
        Service service = new Service();

        SomeObject findAndFilterException() {
            try {
                return service.getObjectFromApi();
            }catch (Exception e){
                // report to database
            }
            return new SomeObject();
        }
    }

Chciałbym to zmienić tzn usunąć klase filtrującą, dodać ExceptionHandler, który będzie tylko i wyłącznie raportował do bazy wyjątek, natomiast pusty obiekt ma być zwracany w kodzie w try catch (tam jeszcze obiekt jest mapowany na inny obiekt i dopiero wysyłany na front). Pytanie jak i czy się da wrapować wszystkie wyjątki, które przychodzą z Api zewnętrznego na mój CustomException. Na koniec pytanie czy to podejście według was będzie lepsze od dotychczasowego? Zaczynam mieć watpliwości.