- Type Parameters:
T- the type of argument supplied
- All Superinterfaces:
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface @API(status=STABLE, since="5.0") public interface ThrowingSupplier<T> extends Executable
ThrowingSupplieris a functional interface that can be used to implement any generic block of code that returns an object and potentially throws a
ThrowingSupplierinterface is similar to
Supplier, except that a
ThrowingSuppliercan throw any kind of exception, including checked exceptions.
As of JUnit Jupiter 5.3,
Executable, providing a default implementation of
execute()that delegates to
get()and ignores the return value. This allows the Java compiler to disambiguate between
Executablewhen performing type inference for a lambda expression or method reference supplied to an overloaded method that accepts either a
Rationale for throwing
Although Java applications typically throw exceptions that are instances of
AssertionError(in testing scenarios), there may be use cases where a
ThrowingSupplierneeds to explicitly throw a
Throwable. In order to support such specialized use cases,
get()is declared to throw
get()and ignores the return value.
This default method is not intended to be overridden. See class-level documentation for further details.