Java 试着用抛接球

Java 试着用抛接球,java,Java,我对用抛接球来尝试/接球感到困惑。我在一个函数中有两个可能的IOException。第一,我想抓住并继续。另一个我想为前面要处理的函数抛出一个异常 如果IOException无法打开文件,我想捕获它,通知用户,然后继续。如果在清除目录时出现IOException,我想抛出一个异常并在调用代码中处理它 如果无法打开文件,它会抛出clearUploads()在捕获异常时可能抛出的异常吗 大体上: output = parseCSV(fileList); 职能: private static

我对用抛接球来尝试/接球感到困惑。我在一个函数中有两个可能的IOException。第一,我想抓住并继续。另一个我想为前面要处理的函数抛出一个异常

如果IOException无法打开文件,我想捕获它,通知用户,然后继续。如果在清除目录时出现IOException,我想抛出一个异常并在调用代码中处理它

如果无法打开文件,它会抛出clearUploads()在捕获异常时可能抛出的异常吗

大体上:

   output = parseCSV(fileList);
职能:

private static String parseCSV(List<File> fileList) throws IOException {
    String returnString = "";
    String[] tokens = null;
    String currFileName = "";
    for(File file: fileList){
        currFileName = file.getName();
        try {

            BufferedReader br = new BufferedReader(new FileReader(file));
            String line;

            while ((line = br.readLine()) != null) {
            }
                //do stuff
            }
            br.close();
        } catch (FileNotFoundException e) {
            returnString += "Cannot find " + currfileName + "!\n";
        } catch (IOException e) {
            returnString += "Cannot open " + currFileName + "!\n";
        }
    }
    clearUploads();

    if (returnString.equals("")) {
        returnString = "Files uploaded and saved successfully";
    }
    return returnString;

}

private static void clearUploads() throws IOException {
    FileUtils.cleanDirectory(new File(filePath));
}
私有静态字符串parseCSV(列表文件列表)引发IOException{
字符串returnString=“”;
字符串[]标记=null;
字符串currFileName=“”;
用于(文件:文件列表){
currFileName=file.getName();
试一试{
BufferedReader br=新的BufferedReader(新文件读取器(文件));
弦线;
而((line=br.readLine())!=null){
}
//做事
}
br.close();
}catch(filenotfounde异常){
returnString+=“找不到”+currfileName+“!\n”;
}捕获(IOE异常){
returnString+=“无法打开”+currFileName+“!\n”;
}
}
clearUploads();
if(returnString.equals(“”){
returnString=“文件上传保存成功”;
}
返回字符串;
}
私有静态void clearUploads()引发IOException{
cleanDirectory(新文件(filePath));
}

try
块将捕获它在其作用域内的任何内容,并且与
catch
部分中的类型兼容,因为clearUploads在
try
块之外,它不会被该块捕获。

它会抛出clearUploads()异常吗如果无法打开文件,则可能在捕获异常时抛出?对下一个问题。@ElliottFrisch在clearUploads()周围确实看到了try-catch块吗?不,它不会,它不在实现的块的范围内。下一个无能的评论。@apexlol,嗯?它肯定会从clearUploads中抛出相同的异常(因为它不处理异常)。我没说试抓拦网。clearUploads不在try-catch块中。而且您的
br.close()
也不安全。您应该在
最后调用它,或者最好使用try-with-resources。谢谢。我知道这是一个愚蠢的问题,但我宁愿肯定也不要困惑。在提出问题之前,试着看一下文档,这样,大多数情况下可能需要更长的时间,但你会学到更多,