T - Value type in the case of success.public interface Try<T> extends Value<T>, Serializable
The following exceptions are considered to be fatal/non-recoverable:
Important note: Try may re-throw (undeclared) exceptions, e.g. on get(). From within a
dynamic proxy InvocationHandler this will lead to an
UndeclaredThrowableException. For more information, please read
Dynamic Proxy Classes.
| Modifier and Type | Interface and Description |
|---|---|
static class |
Try.Failure<T>
A failed Try.
|
static class |
Try.Success<T>
A succeeded Try.
|
static class |
Try.WithResources1<T1 extends AutoCloseable>
A
Try-with-resources builder that operates on one AutoCloseable resource. |
static class |
Try.WithResources2<T1 extends AutoCloseable,T2 extends AutoCloseable>
A
Try-with-resources builder that operates on two AutoCloseable resources. |
static class |
Try.WithResources3<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable>
A
Try-with-resources builder that operates on three AutoCloseable resources. |
static class |
Try.WithResources4<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable>
A
Try-with-resources builder that operates on four AutoCloseable resources. |
static class |
Try.WithResources5<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable>
A
Try-with-resources builder that operates on five AutoCloseable resources. |
static class |
Try.WithResources6<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable>
A
Try-with-resources builder that operates on six AutoCloseable resources. |
static class |
Try.WithResources7<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable>
A
Try-with-resources builder that operates on seven AutoCloseable resources. |
static class |
Try.WithResources8<T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable,T8 extends AutoCloseable>
A
Try-with-resources builder that operates on eight AutoCloseable resources. |
| Modifier and Type | Field and Description |
|---|---|
static long |
serialVersionUID |
| Modifier and Type | Method and Description |
|---|---|
default Try<T> |
andFinally(Runnable runnable)
Provides try's finally behavior no matter what the result of the operation is.
|
default Try<T> |
andFinallyTry(CheckedRunnable runnable)
Provides try's finally behavior no matter what the result of the operation is.
|
default Try<T> |
andThen(Consumer<? super T> consumer)
Shortcut for
andThenTry(consumer::accept), see andThenTry(CheckedConsumer). |
default Try<T> |
andThen(Runnable runnable)
Shortcut for
andThenTry(runnable::run), see andThenTry(CheckedRunnable). |
default Try<T> |
andThenTry(CheckedConsumer<? super T> consumer)
Passes the result to the given
consumer if this is a Success. |
default Try<T> |
andThenTry(CheckedRunnable runnable)
Runs the given runnable if this is a
Success, otherwise returns this Failure. |
default <R> Try<R> |
collect(PartialFunction<? super T,? extends R> partialFunction)
Collects value that is in the domain of the given
partialFunction by mapping the value to type R. |
boolean |
equals(Object o)
Clarifies that values have a proper equals() method implemented.
|
default Try<Throwable> |
failed()
Returns
Success(throwable) if this is a Failure(throwable), otherwise
a Failure(new NoSuchElementException("Success.failed()")) if this is a Success. |
static <T> Try<T> |
failure(Throwable exception)
Creates a
Try.Failure that contains the given exception. |
default Try<T> |
filter(Predicate<? super T> predicate)
Shortcut for
filterTry(predicate::test), see filterTry(CheckedPredicate)}. |
default Try<T> |
filter(Predicate<? super T> predicate,
Function<? super T,? extends Throwable> errorProvider)
Shortcut for
filterTry(predicate::test, errorProvider::apply), see
filterTry(CheckedPredicate, CheckedFunction1)}. |
default Try<T> |
filter(Predicate<? super T> predicate,
Supplier<? extends Throwable> throwableSupplier)
Shortcut for
filterTry(predicate::test, throwableSupplier), see
filterTry(CheckedPredicate, Supplier)}. |
default Try<T> |
filterTry(CheckedPredicate<? super T> predicate)
Returns
this if this is a Failure or this is a Success and the value satisfies the predicate. |
default Try<T> |
filterTry(CheckedPredicate<? super T> predicate,
CheckedFunction1<? super T,? extends Throwable> errorProvider)
Returns
this if this is a Failure or this is a Success and the value satisfies the predicate. |
default Try<T> |
filterTry(CheckedPredicate<? super T> predicate,
Supplier<? extends Throwable> throwableSupplier)
Returns
this if this is a Failure or this is a Success and the value satisfies the predicate. |
default <U> Try<U> |
flatMap(Function<? super T,? extends Try<? extends U>> mapper)
Shortcut for
flatMapTry(mapper::apply), see flatMapTry(CheckedFunction1). |
default <U> Try<U> |
flatMapTry(CheckedFunction1<? super T,? extends Try<? extends U>> mapper)
FlatMaps the value of a Success or returns a Failure.
|
default <X> X |
fold(Function<? super Throwable,? extends X> ifFail,
Function<? super T,? extends X> f)
Folds either the
Failure or the Success side of the Try value. |
T |
get()
Gets the result of this Try if this is a
Success or throws if this is a Failure. |
Throwable |
getCause()
Gets the cause if this is a Failure or throws if this is a Success.
|
default T |
getOrElseGet(Function<? super Throwable,? extends T> other) |
default <X extends Throwable> |
getOrElseThrow(Function<? super Throwable,X> exceptionProvider) |
int |
hashCode()
Clarifies that values have a proper hashCode() method implemented.
|
default boolean |
isAsync()
A
Try's value is computed synchronously. |
boolean |
isEmpty()
Checks whether this Try has no result, i.e.
|
boolean |
isFailure()
Checks if this is a Failure.
|
default boolean |
isLazy()
A
Try's value is computed eagerly. |
default boolean |
isSingleValued()
A
Try is a single-valued. |
boolean |
isSuccess()
Checks if this is a Success.
|
default Iterator<T> |
iterator()
Returns a rich
io.vavr.collection.Iterator. |
default <U> Try<U> |
map(Function<? super T,? extends U> mapper)
Shortcut for
mapTry(mapper::apply), see mapTry(CheckedFunction1). |
default Try<T> |
mapFailure(API.Match.Case<? extends Throwable,? extends Throwable>... cases)
Maps the cause to a new exception if this is a
Failure or returns this instance if this is a Success. |
default <U> Try<U> |
mapTry(CheckedFunction1<? super T,? extends U> mapper)
Runs the given checked function if this is a
Try.Success,
passing the result of the current expression to it. |
static <T> Try<T> |
narrow(Try<? extends T> t)
Narrows a widened
Try<? extends T> to Try<T>
by performing a type-safe cast. |
static <T> Try<T> |
of(CheckedFunction0<? extends T> supplier)
Creates a Try of a CheckedFunction0.
|
static <T> Try<T> |
ofCallable(Callable<? extends T> callable)
Creates a Try of a Callable.
|
static <T> Try<T> |
ofSupplier(Supplier<? extends T> supplier)
Creates a Try of a Supplier.
|
default <X extends Throwable> |
onFailure(Class<X> exceptionType,
Consumer<? super X> action)
Consumes the cause if this is a
Try.Failure and the cause is instance of X. |
default Try<T> |
onFailure(Consumer<? super Throwable> action)
Consumes the cause if this is a
Try.Failure. |
default Try<T> |
onSuccess(Consumer<? super T> action)
Consumes the value if this is a
Try.Success. |
default Try<T> |
orElse(Supplier<? extends Try<? extends T>> supplier) |
default Try<T> |
orElse(Try<? extends T> other) |
default void |
orElseRun(Consumer<? super Throwable> action) |
default Try<T> |
peek(Consumer<? super T> action)
Applies the action to the value of a Success or does nothing in the case of a Failure.
|
default <X extends Throwable> |
recover(Class<X> exceptionType,
Function<? super X,? extends T> f)
Returns
this, if this is a Success or this is a Failure and the cause is not assignable
from cause.getClass(). |
default <X extends Throwable> |
recover(Class<X> exceptionType,
T value)
Returns
this, if this is a Try.Success or this is a Failure and the cause is not assignable
from cause.getClass(). |
default Try<T> |
recover(Function<? super Throwable,? extends T> f)
Returns
this, if this is a Success, otherwise tries to recover the exception of the failure with f,
i.e. |
default <X extends Throwable> |
recoverWith(Class<X> exceptionType,
Function<? super X,Try<? extends T>> f)
Returns
this, if this is a Success or this is a Failure and the cause is not assignable
from cause.getClass(). |
default <X extends Throwable> |
recoverWith(Class<X> exceptionType,
Try<? extends T> recovered)
Recovers this
Try with the given recovered, if this is a Try.Failure
and the given exceptionType is assignable to the underlying cause type. |
default Try<T> |
recoverWith(Function<? super Throwable,? extends Try<? extends T>> f)
Returns
this, if this is a Success, otherwise tries to recover the exception of the failure with f,
i.e. |
static Try<Void> |
run(CheckedRunnable runnable)
Creates a Try of a CheckedRunnable.
|
static Try<Void> |
runRunnable(Runnable runnable)
Creates a Try of a Runnable.
|
static <T> Try<Seq<T>> |
sequence(Iterable<? extends Try<? extends T>> values)
Reduces many
Trys into a single Try by transforming an
Iterable<Try<? extends T>> into a Try<Seq<T>>. |
static <T> Try<T> |
success(T value)
Creates a
Try.Success that contains the given value. |
default Either<Throwable,T> |
toEither()
Converts this
Try to an Either. |
String |
toString()
Clarifies that values have a proper toString() method implemented.
|
default Validation<Throwable,T> |
toValidation()
Converts this
Try to a Validation. |
default <U> Validation<U,T> |
toValidation(Function<? super Throwable,? extends U> throwableMapper)
Converts this
Try to a Validation, converting the Throwable (if present)
to another object using passed Function. |
default <U> U |
transform(Function<? super Try<T>,? extends U> f)
Transforms this
Try. |
static <T,U> Try<Seq<U>> |
traverse(Iterable<? extends T> values,
Function<? super T,? extends Try<? extends U>> mapper)
Maps the values of an iterable to a sequence of mapped values into a single
Try by
transforming an Iterable<? extends T> into a Try<Seq<U>>. |
static <T1 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier)
Creates a
Try-with-resources builder that operates on one AutoCloseable resource. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier)
Creates a
Try-with-resources builder that operates on two AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier)
Creates a
Try-with-resources builder that operates on three AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier,
CheckedFunction0<? extends T4> t4Supplier)
Creates a
Try-with-resources builder that operates on four AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier,
CheckedFunction0<? extends T4> t4Supplier,
CheckedFunction0<? extends T5> t5Supplier)
Creates a
Try-with-resources builder that operates on five AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier,
CheckedFunction0<? extends T4> t4Supplier,
CheckedFunction0<? extends T5> t5Supplier,
CheckedFunction0<? extends T6> t6Supplier)
Creates a
Try-with-resources builder that operates on six AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier,
CheckedFunction0<? extends T4> t4Supplier,
CheckedFunction0<? extends T5> t5Supplier,
CheckedFunction0<? extends T6> t6Supplier,
CheckedFunction0<? extends T7> t7Supplier)
Creates a
Try-with-resources builder that operates on seven AutoCloseable resources. |
static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable,T8 extends AutoCloseable> |
withResources(CheckedFunction0<? extends T1> t1Supplier,
CheckedFunction0<? extends T2> t2Supplier,
CheckedFunction0<? extends T3> t3Supplier,
CheckedFunction0<? extends T4> t4Supplier,
CheckedFunction0<? extends T5> t5Supplier,
CheckedFunction0<? extends T6> t6Supplier,
CheckedFunction0<? extends T7> t7Supplier,
CheckedFunction0<? extends T8> t8Supplier)
Creates a
Try-with-resources builder that operates on eight AutoCloseable resources. |
collect, collect, contains, corresponds, eq, exists, forAll, forEach, getOrElse, getOrElse, getOrElseThrow, getOrElseTry, getOrNull, narrow, out, out, spliterator, stderr, stdout, stringPrefix, toArray, toCharSeq, toCompletableFuture, toEither, toEither, toInvalid, toInvalid, toJavaArray, toJavaArray, toJavaArray, toJavaCollection, toJavaList, toJavaList, toJavaMap, toJavaMap, toJavaMap, toJavaOptional, toJavaParallelStream, toJavaSet, toJavaSet, toJavaStream, toLeft, toLeft, toLinkedMap, toLinkedMap, toLinkedSet, toList, toMap, toMap, toOption, toPriorityQueue, toPriorityQueue, toQueue, toRight, toRight, toSet, toSortedMap, toSortedMap, toSortedMap, toSortedMap, toSortedSet, toSortedSet, toStream, toTree, toTree, toTry, toTry, toValid, toValid, toValidation, toValidation, toVectorstatic final long serialVersionUID
static <T> Try<T> of(CheckedFunction0<? extends T> supplier)
T - Component typesupplier - A checked supplierSuccess(supplier.apply()) if no exception occurs, otherwise Failure(throwable) if an
exception occurs calling supplier.apply().static <T> Try<T> ofSupplier(Supplier<? extends T> supplier)
T - Component typesupplier - A supplierSuccess(supplier.get()) if no exception occurs, otherwise Failure(throwable) if an
exception occurs calling supplier.get().static <T> Try<T> ofCallable(Callable<? extends T> callable)
T - Component typecallable - A callableSuccess(callable.call()) if no exception occurs, otherwise Failure(throwable) if an
exception occurs calling callable.call().static Try<Void> run(CheckedRunnable runnable)
runnable - A checked runnableSuccess(null) if no exception occurs, otherwise Failure(throwable) if an exception occurs
calling runnable.run().static Try<Void> runRunnable(Runnable runnable)
runnable - A runnableSuccess(null) if no exception occurs, otherwise Failure(throwable) if an exception occurs
calling runnable.run().static <T> Try<Seq<T>> sequence(Iterable<? extends Try<? extends T>> values)
Trys into a single Try by transforming an
Iterable<Try<? extends T>> into a Try<Seq<T>>. If any of
the Trys are Try.Failure, then this returns a Try.Failure.T - type of the Trysvalues - An Iterable of TrysTry of a Seq of resultsNullPointerException - if values is nullstatic <T,U> Try<Seq<U>> traverse(Iterable<? extends T> values, Function<? super T,? extends Try<? extends U>> mapper)
Try by
transforming an Iterable<? extends T> into a Try<Seq<U>>.
T - The type of the given values.U - The mapped value type.values - An Iterable of values.mapper - A mapper of values to TrysTry of a Seq of results.NullPointerException - if values or f is null.static <T> Try<T> success(T value)
T - Type of the given value.value - A value.Success.static <T> Try<T> failure(Throwable exception)
T - Component type of the Try.exception - An exception.Failure.static <T> Try<T> narrow(Try<? extends T> t)
Try<? extends T> to Try<T>
by performing a type-safe cast. This is eligible because immutable/read-only
collections are covariant.T - Component type of the Try.t - A Try.t instance as narrowed type Try<T>.default Try<T> andThen(Consumer<? super T> consumer)
andThenTry(consumer::accept), see andThenTry(CheckedConsumer).consumer - A consumerTry if this is a Failure or the consumer succeeded, otherwise the
Failure of the consumption.NullPointerException - if consumer is nulldefault Try<T> andThenTry(CheckedConsumer<? super T> consumer)
consumer if this is a Success.
The main use case is chaining checked functions using method references:
Try.of(() -> 100)
.andThen(i -> System.out.println(i));
consumer - A checked consumerTry if this is a Failure or the consumer succeeded, otherwise the
Failure of the consumption.NullPointerException - if consumer is nulldefault Try<T> andThen(Runnable runnable)
andThenTry(runnable::run), see andThenTry(CheckedRunnable).runnable - A runnableTry if this is a Failure or the runnable succeeded, otherwise the
Failure of the run.NullPointerException - if runnable is nulldefault Try<T> andThenTry(CheckedRunnable runnable)
Success, otherwise returns this Failure.
The main use case is chaining runnables using method references:
Try.run(A::methodRef).andThen(B::methodRef).andThen(C::methodRef);
Please note that these lines are semantically the same:
Try.run(this::doStuff)
.andThen(this::doMoreStuff)
.andThen(this::doEvenMoreStuff);
Try.run(() -> {
doStuff();
doMoreStuff();
doEvenMoreStuff();
});
runnable - A checked runnableTry if this is a Failure or the runnable succeeded, otherwise the
Failure of the run.NullPointerException - if runnable is nulldefault <R> Try<R> collect(PartialFunction<? super T,? extends R> partialFunction)
partialFunction by mapping the value to type R.
partialFunction.isDefinedAt(value)
If the element makes it through that filter, the mapped instance is wrapped in Try
R newValue = partialFunction.apply(value)
R - The new value typepartialFunction - A function that is not necessarily defined on value of this try.Try instance containing value of type RNullPointerException - if partialFunction is nulldefault Try<Throwable> failed()
Success(throwable) if this is a Failure(throwable), otherwise
a Failure(new NoSuchElementException("Success.failed()")) if this is a Success.default Try<T> filter(Predicate<? super T> predicate, Supplier<? extends Throwable> throwableSupplier)
filterTry(predicate::test, throwableSupplier), see
filterTry(CheckedPredicate, Supplier)}.predicate - A predicatethrowableSupplier - A supplier of a throwableTry instanceNullPointerException - if predicate or throwableSupplier is nulldefault Try<T> filter(Predicate<? super T> predicate, Function<? super T,? extends Throwable> errorProvider)
filterTry(predicate::test, errorProvider::apply), see
filterTry(CheckedPredicate, CheckedFunction1)}.predicate - A predicateerrorProvider - A function that provides some kind of Throwable for TTry instanceNullPointerException - if predicate or errorProvider is nulldefault Try<T> filter(Predicate<? super T> predicate)
filterTry(predicate::test), see filterTry(CheckedPredicate)}.predicate - A predicateTry instanceNullPointerException - if predicate is nulldefault Try<T> filterTry(CheckedPredicate<? super T> predicate, Supplier<? extends Throwable> throwableSupplier)
this if this is a Failure or this is a Success and the value satisfies the predicate.
Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception
occurs testing the predicate. The returned Failure wraps a Throwable instance provided by the given
throwableSupplier.
predicate - A checked predicatethrowableSupplier - A supplier of a throwableTry instanceNullPointerException - if predicate or throwableSupplier is nulldefault Try<T> filterTry(CheckedPredicate<? super T> predicate, CheckedFunction1<? super T,? extends Throwable> errorProvider)
this if this is a Failure or this is a Success and the value satisfies the predicate.
Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception
occurs testing the predicate. The returned Failure wraps a Throwable instance provided by the given
errorProvider.
predicate - A checked predicateerrorProvider - A provider of a throwableTry instanceNullPointerException - if predicate or errorProvider is nulldefault Try<T> filterTry(CheckedPredicate<? super T> predicate)
this if this is a Failure or this is a Success and the value satisfies the predicate.
Returns a new Failure, if this is a Success and the value does not satisfy the Predicate or an exception
occurs testing the predicate. The returned Failure wraps a NoSuchElementException instance.
predicate - A checked predicateTry instanceNullPointerException - if predicate is nulldefault <U> Try<U> flatMap(Function<? super T,? extends Try<? extends U>> mapper)
flatMapTry(mapper::apply), see flatMapTry(CheckedFunction1).U - The new component typemapper - A mapperTryNullPointerException - if mapper is nulldefault <U> Try<U> flatMapTry(CheckedFunction1<? super T,? extends Try<? extends U>> mapper)
U - The new component typemapper - A mapperTryNullPointerException - if mapper is nullT get()
Success or throws if this is a Failure.
IMPORTANT! If this is a Try.Failure, the underlying cause of type Throwable is thrown.
The thrown exception is exactly the same as the result of getCause().
Throwable getCause()
UnsupportedOperationException - if this is a Successdefault boolean isAsync()
Try's value is computed synchronously.boolean isEmpty()
boolean isFailure()
default boolean isLazy()
Try's value is computed eagerly.default boolean isSingleValued()
Try is a single-valued.isSingleValued in interface Value<T>trueboolean isSuccess()
default Iterator<T> iterator()
Valueio.vavr.collection.Iterator.default <U> Try<U> map(Function<? super T,? extends U> mapper)
mapTry(mapper::apply), see mapTry(CheckedFunction1).map in interface Value<T>U - The new component typemapper - A checked functionTryNullPointerException - if mapper is null@GwtIncompatible default Try<T> mapFailure(API.Match.Case<? extends Throwable,? extends Throwable>... cases)
Failure or returns this instance if this is a Success.
If none of the given cases matches the cause, the same Failure is returned.
cases - A not necessarily exhaustive sequence of cases that will be matched against a cause.Try if this is a Failure, otherwise this.default <U> Try<U> mapTry(CheckedFunction1<? super T,? extends U> mapper)
Try.Success,
passing the result of the current expression to it.
If this expression is a Try.Failure then it'll return a new
Try.Failure of type R with the original exception.
The main use case is chaining checked functions using method references:
Try.of(() -> 0)
.map(x -> 1 / x); // division by zero
U - The new component typemapper - A checked functionTryNullPointerException - if mapper is nulldefault Try<T> onFailure(Consumer<? super Throwable> action)
Try.Failure.
// (does not print anything)
Try.success(1).onFailure(System.out::println);
// prints "java.lang.Error"
Try.failure(new Error()).onFailure(System.out::println);
action - An exception consumerNullPointerException - if action is null@GwtIncompatible default <X extends Throwable> Try<T> onFailure(Class<X> exceptionType, Consumer<? super X> action)
Try.Failure and the cause is instance of X.
// (does not print anything)
Try.success(1).onFailure(Error.class, System.out::println);
// prints "Error"
Try.failure(new Error())
.onFailure(RuntimeException.class, x -> System.out.println("Runtime exception"))
.onFailure(Error.class, x -> System.out.println("Error"));
X - the exception type that should be handledexceptionType - the exception type that is handledaction - an excpetion consumerNullPointerException - if exceptionType or action is nulldefault Try<T> onSuccess(Consumer<? super T> action)
Try.Success.
// prints "1"
Try.success(1).onSuccess(System.out::println);
// (does not print anything)
Try.failure(new Error()).onSuccess(System.out::println);
action - A value consumerNullPointerException - if action is nulldefault <X extends Throwable> T getOrElseThrow(Function<? super Throwable,X> exceptionProvider) throws X extends Throwable
X extends Throwabledefault <X> X fold(Function<? super Throwable,? extends X> ifFail, Function<? super T,? extends X> f)
Failure or the Success side of the Try value.X - type of the folded valueifFail - maps the left value if this is a Failuref - maps the value if this is a Successdefault Try<T> peek(Consumer<? super T> action)
peek in interface Value<T>action - A ConsumerTryNullPointerException - if action is null@GwtIncompatible default <X extends Throwable> Try<T> recover(Class<X> exceptionType, Function<? super X,? extends T> f)
this, if this is a Success or this is a Failure and the cause is not assignable
from cause.getClass(). Otherwise tries to recover the exception of the failure with f,
i.e. calling Try.of(() -> f.apply((X) getCause()).
// = Success(13)
Try.of(() -> 27/2).recover(ArithmeticException.class, x -> Integer.MAX_VALUE);
// = Success(2147483647)
Try.of(() -> 1/0)
.recover(Error.class, x -> -1)
.recover(ArithmeticException.class, x -> Integer.MAX_VALUE);
// = Failure(java.lang.ArithmeticException: / by zero)
Try.of(() -> 1/0).recover(Error.class, x -> Integer.MAX_VALUE);
X - Exception typeexceptionType - The specific exception type that should be handledf - A recovery function taking an exception of type XTryNullPointerException - if exception is null or f is null@GwtIncompatible default <X extends Throwable> Try<T> recoverWith(Class<X> exceptionType, Function<? super X,Try<? extends T>> f)
this, if this is a Success or this is a Failure and the cause is not assignable
from cause.getClass(). Otherwise tries to recover the exception of the failure with f which returns Try.
If isFailure() returned by f function is true it means that recovery cannot take place due to some circumstances.
// = Success(13)
Try.of(() -> 27/2).recoverWith(ArithmeticException.class, x -> Try.success(Integer.MAX_VALUE));
// = Success(2147483647)
Try.of(() -> 1/0)
.recoverWith(Error.class, x -> Try.success(-1))
.recoverWith(ArithmeticException.class, x -> Try.success(Integer.MAX_VALUE));
// = Failure(java.lang.ArithmeticException: / by zero)
Try.of(() -> 1/0).recoverWith(Error.class, x -> Try.success(Integer.MAX_VALUE));
X - Exception typeexceptionType - The specific exception type that should be handledf - A recovery function taking an exception of type X and returning Try as a result of recovery.
If Try is isSuccess() then recovery ends up successfully. Otherwise the function was not able to recover.TryNullPointerException - if exceptionType or f is null@GwtIncompatible default <X extends Throwable> Try<T> recoverWith(Class<X> exceptionType, Try<? extends T> recovered)
Try with the given recovered, if this is a Try.Failure
and the given exceptionType is assignable to the underlying cause type.
// = Success(13)
Try.of(() -> 27/2).recoverWith(ArithmeticException.class, Try.success(Integer.MAX_VALUE));
// = Success(2147483647)
Try.of(() -> 1/0)
.recoverWith(Error.class, Try.success(-1))
.recoverWith(ArithmeticException.class, Try.success(Integer.MAX_VALUE));
// = Failure(java.lang.ArithmeticException: / by zero)
Try.of(() -> 1/0).recoverWith(Error.class, Try.success(Integer.MAX_VALUE));
X - type of the exception that should be recoveredexceptionType - the exception type that is recoveredrecovered - the substitute for a matching Failurerecovered if this is a Try.Failure and the cause is of type X, else thisNullPointerException - if exceptionType or recovered is null@GwtIncompatible default <X extends Throwable> Try<T> recover(Class<X> exceptionType, T value)
this, if this is a Try.Success or this is a Failure and the cause is not assignable
from cause.getClass(). Otherwise returns a Try.Success containing the given value.
// = Success(13)
Try.of(() -> 27/2).recover(ArithmeticException.class, Integer.MAX_VALUE);
// = Success(2147483647)
Try.of(() -> 1/0)
.recover(Error.class, -1);
.recover(ArithmeticException.class, Integer.MAX_VALUE);
// = Failure(java.lang.ArithmeticException: / by zero)
Try.of(() -> 1/0).recover(Error.class, Integer.MAX_VALUE);
X - Exception typeexceptionType - The specific exception type that should be handledvalue - A value that is used in case of a recoveryTryNullPointerException - if exception is nulldefault Try<T> recover(Function<? super Throwable,? extends T> f)
this, if this is a Success, otherwise tries to recover the exception of the failure with f,
i.e. calling Try.of(() -> f.apply(throwable)).
// = Success(13)
Try.of(() -> 27/2).recover(x -> Integer.MAX_VALUE);
// = Success(2147483647)
Try.of(() -> 1/0).recover(x -> Integer.MAX_VALUE);
f - A recovery function taking a ThrowableTryNullPointerException - if f is nulldefault Try<T> recoverWith(Function<? super Throwable,? extends Try<? extends T>> f)
this, if this is a Success, otherwise tries to recover the exception of the failure with f,
i.e. calling f.apply(cause.getCause()). If an error occurs recovering a Failure, then the new Failure is
returned.
// = Success(13)
Try.of(() -> 27/2).recoverWith(x -> Try.success(Integer.MAX_VALUE));
// = Success(2147483647)
Try.of(() -> 1/0).recoverWith(x -> Try.success(Integer.MAX_VALUE));
f - A recovery function taking a ThrowableTryNullPointerException - if f is nulldefault Either<Throwable,T> toEither()
Try to an Either.Eitherdefault Validation<Throwable,T> toValidation()
Try to a Validation.Validationdefault <U> Validation<U,T> toValidation(Function<? super Throwable,? extends U> throwableMapper)
Try to a Validation, converting the Throwable (if present)
to another object using passed Function.
Validation<String, Integer> = Try.of(() -> 1/0).toValidation(Throwable::getMessage));
U - result type of the throwable mapperthrowableMapper - A transformation from throwable to desired invalid type of new ValidationValidationNullPointerException - if the given throwableMapper is null.default <U> U transform(Function<? super Try<T>,? extends U> f)
Try.U - Type of transformation resultf - A transformationUNullPointerException - if f is nulldefault Try<T> andFinally(Runnable runnable)
runnable - A runnableTry.NullPointerException - if runnable is nulldefault Try<T> andFinallyTry(CheckedRunnable runnable)
runnable - A runnableTry.NullPointerException - if runnable is nullboolean equals(Object o)
Valueint hashCode()
ValueSee Object.hashCode().
String toString()
ValueSee Object.toString().
static <T1 extends AutoCloseable> Try.WithResources1<T1> withResources(CheckedFunction0<? extends T1> t1Supplier)
Try-with-resources builder that operates on one AutoCloseable resource.T1 - Type of the 1st resource.t1Supplier - The supplier of the first resource.Try.WithResources1 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable> Try.WithResources2<T1,T2> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier)
Try-with-resources builder that operates on two AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.Try.WithResources2 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable> Try.WithResources3<T1,T2,T3> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier)
Try-with-resources builder that operates on three AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.Try.WithResources3 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable> Try.WithResources4<T1,T2,T3,T4> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier)
Try-with-resources builder that operates on four AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.T4 - Type of the 4th resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.t4Supplier - The supplier of the 4th resource.Try.WithResources4 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable> Try.WithResources5<T1,T2,T3,T4,T5> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier)
Try-with-resources builder that operates on five AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.T4 - Type of the 4th resource.T5 - Type of the 5th resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.t4Supplier - The supplier of the 4th resource.t5Supplier - The supplier of the 5th resource.Try.WithResources5 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable> Try.WithResources6<T1,T2,T3,T4,T5,T6> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier)
Try-with-resources builder that operates on six AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.T4 - Type of the 4th resource.T5 - Type of the 5th resource.T6 - Type of the 6th resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.t4Supplier - The supplier of the 4th resource.t5Supplier - The supplier of the 5th resource.t6Supplier - The supplier of the 6th resource.Try.WithResources6 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable> Try.WithResources7<T1,T2,T3,T4,T5,T6,T7> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier)
Try-with-resources builder that operates on seven AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.T4 - Type of the 4th resource.T5 - Type of the 5th resource.T6 - Type of the 6th resource.T7 - Type of the 7th resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.t4Supplier - The supplier of the 4th resource.t5Supplier - The supplier of the 5th resource.t6Supplier - The supplier of the 6th resource.t7Supplier - The supplier of the 7th resource.Try.WithResources7 instance.static <T1 extends AutoCloseable,T2 extends AutoCloseable,T3 extends AutoCloseable,T4 extends AutoCloseable,T5 extends AutoCloseable,T6 extends AutoCloseable,T7 extends AutoCloseable,T8 extends AutoCloseable> Try.WithResources8<T1,T2,T3,T4,T5,T6,T7,T8> withResources(CheckedFunction0<? extends T1> t1Supplier, CheckedFunction0<? extends T2> t2Supplier, CheckedFunction0<? extends T3> t3Supplier, CheckedFunction0<? extends T4> t4Supplier, CheckedFunction0<? extends T5> t5Supplier, CheckedFunction0<? extends T6> t6Supplier, CheckedFunction0<? extends T7> t7Supplier, CheckedFunction0<? extends T8> t8Supplier)
Try-with-resources builder that operates on eight AutoCloseable resources.T1 - Type of the 1st resource.T2 - Type of the 2nd resource.T3 - Type of the 3rd resource.T4 - Type of the 4th resource.T5 - Type of the 5th resource.T6 - Type of the 6th resource.T7 - Type of the 7th resource.T8 - Type of the 8th resource.t1Supplier - The supplier of the 1st resource.t2Supplier - The supplier of the 2nd resource.t3Supplier - The supplier of the 3rd resource.t4Supplier - The supplier of the 4th resource.t5Supplier - The supplier of the 5th resource.t6Supplier - The supplier of the 6th resource.t7Supplier - The supplier of the 7th resource.t8Supplier - The supplier of the 8th resource.Try.WithResources8 instance.Copyright © 2019. All Rights Reserved.