提问人:apun bhagwan 提问时间:11/5/2023 最后编辑:Mark Rotteveelapun bhagwan 更新时间:11/5/2023 访问量:28
为什么我不能在使用 toRealPath() 的方法中使用抛出 IOException,而是必须使用 try catch?[复制]
Why am I not able to use throws IOException in my method which uses toRealPath(), instead I have to use try catch? [duplicate]
问:
import java.io.IOException;
import java.nio.file.*;
public class Rose {
public void tendGarden(Path p) throws IOException {
Files.walk(p,1)
.map(q -> q.toRealPath())
.forEach(System.out::println);
}
public static void main(String[] thorns) throws IOException {
new Rose().tendGarden(Paths.get(thorns[0]));
}
}
上面的代码因为 q.toRealPath() 而没有编译,而是抛出 java: unreported exception java.io.IOException;必须被抓住或宣布被扔掉。而我已经把它扔给 main 方法,而 main 方法正在把它扔到 java 环境中。我在某处读到,由于使用接口作为方法签名,我无法使用抛出。有人可以解释一下原因吗?
答: 暂无答案
评论
map
toRealPath
throws