在FileNotFoundException的catch中嵌套try-catch IOException

时间:2019-09-13 11:37:24

标签: java exception try-catch filenotfoundexception ioexception

我觉得将try-catch逻辑嵌套在catch块中并不理想/也不是干净的代码,但是我不确定如何重构代码,例如:

当找不到文件(捕获FileNotFoundExeption)时,我的程序将创建一个新文件(生成IOException),而不会嵌套try捕获。

function f(
        a::Union{R,Complex{R}},
        x::Union{R,Complex{R}}
    )::??? where {R<:Real}
    return g(R(2), a, 1, x)
end

1 个答案:

答案 0 :(得分:0)

理想情况下,在读取文件之前,应检查文件的存在。遵循以下原则:

File dukeTxt = new File(Duke.filePath);
if (dukeTxt.exist()) {
    try { dukeTxt.createNewFile(); }
    catch(IOException ioe) {...}
}
try { storage.readFromTasksFileToList(tasks); }
catch (FileNotFoundException fnfe) {...}