Interface Try<T>

Type Parameters:
T - the wrapped value
All Superinterfaces:
Applicable<Try<?>,T>, Bindable<Try<?>,T>, Kind<Try<?>,T>, Mappable<Try<?>,T>, TryOf<T>
All Known Implementing Classes:
Try.Failure, Try.Success

public sealed interface Try<T> extends TryOf<T>, Bindable<Try<?>,T>, Applicable<Try<?>,T> permits Try.Success<T>, Try.Failure<T>

This type represents the success or failure of a computation. It has two possible values:

  • Try.success(): when the computation is successful
  • Try.failure(): when the result of a computation is an exception

You can obtain an Either<Throwable, T> from Try<T>

Note: it's serializable

  • Method Details

    • success

      static <T> Try<T> success(T value)
    • failure

      static <T> Try<T> failure(String message)
    • failure

      static <T> Try<T> failure()
    • failure

      static <T> Try<T> failure(Throwable error)
    • noSuchElementException

      static <T> Try<T> noSuchElementException()
    • illegalArgumentException

      static <T> Try<T> illegalArgumentException()
    • illegalStateException

      static <T> Try<T> illegalStateException()
    • unsupportedOperationException

      static <T> Try<T> unsupportedOperationException()
    • noSuchElementException

      static <T> Try<T> noSuchElementException(String cause)
    • illegalArgumentException

      static <T> Try<T> illegalArgumentException(String cause)
    • illegalStateException

      static <T> Try<T> illegalStateException(String cause)
    • unsupportedOperationException

      static <T> Try<T> unsupportedOperationException(String cause)
    • of

      static <T> Try<T> of(Producer<? extends T> supplier)
    • from

      static <R> Try<R> from(Throwable error, R value)
    • fromEither

      static <R> Try<R> fromEither(Either<? extends Throwable,? extends R> value)
    • map2

      static <A, B, Z> Try<Z> map2(Try<A> tryA, Try<B> tryB, Function2<? super A,? super B,? extends Z> mapper)
    • getOrElseThrow

      T getOrElseThrow()
    • getCause

      Throwable getCause()
    • isSuccess

      boolean isSuccess()
    • isFailure

      boolean isFailure()
    • map

      default <R> Try<R> map(Function1<? super T,? extends R> mapper)
      Specified by:
      map in interface Applicable<Try<?>,T>
      Specified by:
      map in interface Bindable<Try<?>,T>
      Specified by:
      map in interface Mappable<Try<?>,T>
    • ap

      default <R> Try<R> ap(Kind<Try<?>,? extends Function1<? super T,? extends R>> apply)
      Specified by:
      ap in interface Applicable<Try<?>,T>
    • mapError

      default Try<T> mapError(Function1<? super Throwable,? extends Throwable> mapper)
    • flatMap

      default <R> Try<R> flatMap(Function1<? super T,? extends Kind<Try<?>,? extends R>> mapper)
      Specified by:
      flatMap in interface Bindable<Try<?>,T>
    • onFailure

      default Try<T> onFailure(Consumer1<? super Throwable> consumer)
    • onSuccess

      default Try<T> onSuccess(Consumer1<? super T> consumer)
    • recover

      default Try<T> recover(Function1<? super Throwable,? extends T> mapper)
    • recoverWith

      default <X extends Throwable> Try<T> recoverWith(Class<X> type, Function1<? super X,? extends T> mapper)
    • filter

      default Try<T> filter(Matcher1<? super T> matcher)
    • filterNot

      default Try<T> filterNot(Matcher1<? super T> matcher)
    • filterOrElse

      default Try<T> filterOrElse(Matcher1<? super T> matcher, Producer<? extends Kind<Try<?>,? extends T>> producer)
    • fold

      default <U> U fold(Function1<? super Throwable,? extends U> failureMapper, Function1<? super T,? extends U> successMapper)
    • or

      default Try<T> or(Producer<Kind<Try<?>,T>> orElse)
    • orElse

      default Try<T> orElse(Kind<Try<?>,T> orElse)
    • getOrElse

      default T getOrElse(T value)
    • getOrElseNull

      @Nullable default T getOrElseNull()
    • getOrElse

      default T getOrElse(Producer<? extends T> producer)
    • getOrElseThrow

      default <X extends Throwable> T getOrElseThrow(Producer<? extends X> producer) throws X
      Throws:
      X
    • stream

      default Stream<T> stream()
    • sequence

      default Sequence<T> sequence()
    • toOption

      default Option<T> toOption()
    • toEither

      default Either<Throwable,T> toEither()
    • toValidation

      default <E> Validation<E,T> toValidation(Function1<? super Throwable,? extends E> map)