Interface ThrowingSupplier<T>

Type Parameters:
T - the type of argument supplied
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>
ThrowingSupplier is a functional interface that can be used to implement any generic block of code that returns an object and potentially throws a Throwable.

The ThrowingSupplier interface is similar to Supplier, except that a ThrowingSupplier can throw any kind of exception, including checked exceptions.

Rationale for throwing Throwable instead of Exception

Although Java applications typically throw exceptions that are instances of Exception, RuntimeException, Error, or AssertionError (in testing scenarios), there may be use cases where a ThrowingSupplier needs to explicitly throw a Throwable. In order to support such specialized use cases, get() is declared to throw Throwable.

Since:
5.0
See Also:
Supplier, Assertions.assertTimeout(java.time.Duration, ThrowingSupplier), Assertions.assertTimeoutPreemptively(java.time.Duration, ThrowingSupplier), Executable, ThrowingConsumer
  • Method Summary

    Modifier and Type
    Method
    Description
    get()
    Get a result, potentially throwing an exception.
  • Method Details

    • get

      T get() throws Throwable
      Get a result, potentially throwing an exception.
      Returns:
      a result
      Throws:
      Throwable