gpt4 book ai didi

Java 无法访问 FileNotFoundException 的 catch block

转载 作者:行者123 更新时间:2023-12-02 02:03:58 27 4
gpt4 key购买 nike

我目前很困惑为什么会收到“FileNotFoundException 无法访问的 catch block ”。当我尝试运行我的代码时。我从主方法参数中获取文件路径,并在输入路径错误或在路径中找不到文件的情况下捕获错误。

有人可以帮我解决这个问题吗?这是我这部分的代码:

public void readFile(String inputFilePath, String outputFilePath) throws IOException{

StringBuilder sb = new StringBuilder();

File input = null;

try{
input = new File(inputFilePath);
}
catch (FileNotFoundException e){
System.err.println("Input file cannot be found in the provided path");
}

最佳答案

因为这一行

input = new File(inputFilePath);

不抛出 FileNotFoundException

如果你深入研究new File(..)的代码,这就是它的内容

public File(String pathname) {
if (pathname == null) {
throw new NullPointerException();
}
this.path = fs.normalize(pathname);
this.prefixLength = fs.prefixLength(this.path);
}

正如你所看到的,这个方法不会抛出FileNotFoundException,只有NPE的可能性。

如果您要扩展代码来读取这样的文件

new BufferedInputStream(new FileInputStream(input));  

那么FileNotFoundException就有意义了。尝试一下。

关于Java 无法访问 FileNotFoundException 的 catch block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51102529/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com