Метод FunException::apply
не объявляет какие-либо исключения, поэтому при создании лямбды, которая может генерировать исключение
url -> new URL(url)
Компилятор жалуется, потому что вы не обрабатываете это исключение, и FunException::apply
также не объявляет его в своем предложении throws
.
Вы можете заставить его работать, добавив предложение throws
, т.е.: * 10101
interface FunException<T, R, E extends Throwable> {
R apply(T t) throws E;
}