Поскольку вы не опубликовали полный код, я могу только догадываться о том, как выглядит ваш NotFoundException
, но я думаю, что он содержит по крайней мере два конструктора в следующей форме:
public NotFoundException() {}
public NotFoundException(Throwable cause) {
super(cause);
}
Если вы хотите использовать ссылки на методы конструктора с Try.getOrElseThrow
, вам необходимо устранить неоднозначность ссылок на методы, удалив один из этих конструкторов (или, возможно, уменьшить видимость), или вернуться к использованию лямбда-выражений для создания результирующего бросаемого объекта.
Если вы не можете или не хотите изменять класс NotFoundException
, вы можете либо использовать лямбду вместо ссылки на метод (1 и 2), либо создать явное Function
(2) или Consumer
(3) экземпляров с помощью фабричных методов типа функции vavr:
rsp.getOrElseThrow(cause -> new NotFoundException(cause)); // (1)
rsp.getOrElseThrow(() -> new NotFoundException()); // (2)
rsp.getOrElseThrow(Function1.of(NotFoundException::new)); // (3)
rsp.getOrElseThrow(Function0.of(NotFoundException::new)); // (4)