Interface ThrowingConsumer<T>
- Type Parameters:
T
- the type of the input to the operation
- All Superinterfaces:
Consumer<T>
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
A
Consumer
that allows invocation of code that throws a checked
exception.- Since:
- 6.0
- Author:
- Stephane Nicoll, Phillip Webb
-
Method Summary
Modifier and TypeMethodDescriptiondefault void
DefaultConsumer.accept(Object)
that wraps any thrown checked exceptions (by default in aRuntimeException
).default void
accept
(T t, BiFunction<String, Exception, RuntimeException> exceptionWrapper) Performs this operation on the given argument, wrapping any thrown checked exceptions using the givenexceptionWrapper
.void
Performs this operation on the given argument, possibly throwing a checked exception.static <T> ThrowingConsumer<T>
of
(ThrowingConsumer<T> consumer) Lambda friendly convenience method that can be used to create aThrowingConsumer
where theaccept(Object)
method wraps any checked exception thrown by the supplied lambda expression or method reference.static <T> ThrowingConsumer<T>
of
(ThrowingConsumer<T> consumer, BiFunction<String, Exception, RuntimeException> exceptionWrapper) Lambda friendly convenience method that can be used to create aThrowingConsumer
where theaccept(Object)
method wraps any thrown checked exceptions using the givenexceptionWrapper
.default ThrowingConsumer<T>
throwing
(BiFunction<String, Exception, RuntimeException> exceptionWrapper) Return a newThrowingConsumer
where theaccept(Object)
method wraps any thrown checked exceptions using the givenexceptionWrapper
.
-
Method Details
-
acceptWithException
Performs this operation on the given argument, possibly throwing a checked exception.- Parameters:
t
- the input argument- Throws:
Exception
- on error
-
accept
DefaultConsumer.accept(Object)
that wraps any thrown checked exceptions (by default in aRuntimeException
). -
accept
Performs this operation on the given argument, wrapping any thrown checked exceptions using the givenexceptionWrapper
.- Parameters:
exceptionWrapper
-BiFunction
that wraps the given message and checked exception into a runtime exception
-
throwing
default ThrowingConsumer<T> throwing(BiFunction<String, Exception, RuntimeException> exceptionWrapper) Return a newThrowingConsumer
where theaccept(Object)
method wraps any thrown checked exceptions using the givenexceptionWrapper
.- Parameters:
exceptionWrapper
-BiFunction
that wraps the given message and checked exception into a runtime exception- Returns:
- the replacement
ThrowingConsumer
instance
-
of
Lambda friendly convenience method that can be used to create aThrowingConsumer
where theaccept(Object)
method wraps any checked exception thrown by the supplied lambda expression or method reference.This method can be especially useful when working with method references. It allows you to easily convert a method that throws a checked exception into an instance compatible with a regular
Consumer
.For example:
list.forEach(ThrowingConsumer.of(Example::methodThatCanThrowCheckedException));
- Type Parameters:
T
- the type of the input to the operation- Parameters:
consumer
- the source consumer- Returns:
- a new
ThrowingConsumer
instance
-
of
static <T> ThrowingConsumer<T> of(ThrowingConsumer<T> consumer, BiFunction<String, Exception, RuntimeException> exceptionWrapper) Lambda friendly convenience method that can be used to create aThrowingConsumer
where theaccept(Object)
method wraps any thrown checked exceptions using the givenexceptionWrapper
.This method can be especially useful when working with method references. It allows you to easily convert a method that throws a checked exception into an instance compatible with a regular
Consumer
.For example:
list.forEach(ThrowingConsumer.of(Example::methodThatCanThrowCheckedException, IllegalStateException::new));
- Type Parameters:
T
- the type of the input to the operation- Parameters:
consumer
- the source consumerexceptionWrapper
- the exception wrapper to use- Returns:
- a new
ThrowingConsumer
instance
-