<div dir="ltr"><div>I am sorry if I am very late to the discussion.  Consumer, Function, Predicate, and Supplier don't allow for throwing checked exceptions.  This feature is needed in many cases.  What about adding a variant that allows for throwing checked exceptions?  For example, a ThrowableConsumer could be defined as such...</div><div><br></div><div>public interface ThrowableConsumer<T, E extends Throwable></div><div>{</div><div>   void accept(T t) throws E;</div><div>}</div><div><br></div><div>A method that receives this as a parameter could be defined as such...</div><div><br></div><div>public <E extends Throwable> void process(ThrowableConsumer<T, E> consume) throws E</div><div>{</div><div>   ...<br></div><div>}</div><div><br></div><div>The compiler takes care of ensuring the checked exception is dealt with in the caller to process().</div><div><br></div><div><br></div></div>