接口 ThrowingSupplier<T>

类型参数:
T - the type of results supplied by this supplier
所有超级接口:
Supplier<T>

public interface ThrowingSupplier<T> extends Supplier<T>
A Supplier that allows invocation of code that throws a checked exception.
从以下版本开始:
4.0
作者:
Stephane Nicoll, Phillip Webb
  • 方法详细资料

    • getWithException

      T getWithException() throws Exception
      Gets a result, possibly throwing a checked exception.
      返回:
      a result
      抛出:
      Exception - on error
    • get

      default T get()
      Default Supplier.get() that wraps any thrown checked exceptions (by default in a RuntimeException).
      指定者:
      get 在接口中 Supplier<T>
      另请参阅:
    • get

      default T get(BiFunction<String,Exception,RuntimeException> exceptionWrapper)
      Gets a result, wrapping any thrown checked exceptions using the given exceptionWrapper.
      参数:
      exceptionWrapper - BiFunction that wraps the given message and checked exception into a runtime exception
      返回:
      a result
    • throwing

      default ThrowingSupplier<T> throwing(BiFunction<String,Exception,RuntimeException> exceptionWrapper)
      Return a new ThrowingSupplier where the get() method wraps any thrown checked exceptions using the given exceptionWrapper.
      参数:
      exceptionWrapper - BiFunction that wraps the given message and checked exception into a runtime exception
      返回:
      the replacement ThrowingSupplier instance
    • of

      static <T> ThrowingSupplier<T> of(ThrowingSupplier<T> supplier)
      Lambda friendly convenience method that can be used to create a ThrowingSupplier where the get() 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 Supplier.

      For example:

       optional.orElseGet(ThrowingSupplier.of(Example::methodThatCanThrowCheckedException));
       
      类型参数:
      T - the type of results supplied by this supplier
      参数:
      supplier - the source supplier
      返回:
      a new ThrowingSupplier instance
    • of

      static <T> ThrowingSupplier<T> of(ThrowingSupplier<T> supplier, BiFunction<String,Exception,RuntimeException> exceptionWrapper)
      Lambda friendly convenience method that can be used to create ThrowingSupplier where the get() method wraps any thrown checked exceptions using the given exceptionWrapper.

      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 Supplier.

      For example:

       optional.orElseGet(ThrowingSupplier.of(Example::methodThatCanThrowCheckedException, IllegalStateException::new));
       
      类型参数:
      T - the type of results supplied by this supplier
      参数:
      supplier - the source supplier
      exceptionWrapper - the exception wrapper to use
      返回:
      a new ThrowingSupplier instance