code: public static <T> Callable<T> recover(Callable<T> callable, Function<Exception, T> exceptionHandler){
          return () -> {
              try{
                  return callable.call();
              }catch (Exception exception){
                  return exceptionHandler.apply(exception);
              }
          };
      }
docs: Returns a composed function that first executes the Callable and optionally recovers from an exception.
  
  @param <T> return type of after
  @param exceptionHandler the exception handler
  @return a function composed of callable and exceptionHandler