code: @SafeVarargs
      public final <R> Try<R,X> mapOrCatch(CheckedFunction<? super T, ? extends R,X> fn, Class<? extends X>... classes){
          return new Try<R,X>(xor.flatMap(i ->safeApply(i, fn.asFunction(),classes)),this.classes);
      }
docs: Perform a mapping operation that may catch the supplied Exception types
  The supplied Exception types are only applied during this map operation
  
  @param fn mapping function
  @param classes exception types to catch
  @param <R> return type of mapping function
  @return Try with result or caught exception