Я видел пару примеров этого, но, к сожалению, ни одного, где метод выдает исключение.
Для ясности, у меня есть один универсальный метод, который получает другой метод в качестве ссылки.
Этот метод генерирует исключение в сигнатуре своего метода, когда этот метод (returnFullName в примере) не генерирует исключение без проблем для компилятора, но когда это происходит, компилятор выдает « необработанное исключение» * .
Я до сих пор не могу понять, как решить эту проблему, есть ли идея, как обрабатывать исключения в этих случаях?
public class MyClass{
private static String returnFullName(String name) throws Exception{
return "full name " + name;
}
public static String calculateByName(String name) {
try {
myGenericMethod("John Doe", RemoteFileUtils::returnFullName);
} catch (Exception e) {
return "fallback name";
}
}
private static <T> T myGenericMethod(final String name, final Function<String, T> call) {
//do stuff
return call.apply(name);
}
}