Я новичок в Java, поэтому я надеюсь, что это не тривиально, но я действительно не могу найти то, что ищу.
У меня есть функция, которая выдает исключение:
public String foo(String s) throws MyException {
if ("a".equals(s)){
return s;
} else {
throw new MyException("Oh no!");
}
}
Когда MyException просто:
class MyException extends Exception{
String str1;
MyException(String str2) {
str1=str2;
}
public String toString(){
return ("MyException Occurred: "+str1) ;
}
}
Теперь у меня есть другой метод, который вызывает foo внутри CompletableFuture:
private CompletableFuture<String> test() throws Exception{
return CompletableFuture.supplyAsync(() -> foo("b"));
}
Но foo выдает исключение, поэтому здесь возникает ошибка компиляции, так каквызов для foo - необработанное исключение.
Все, что я хочу, это выбросить оригинальное (внутреннее) исключение.Как я могу это сделать?