我有一种使用库FileUtils将某些文件从共享内存复制到内部应用程序内存的方法。
目的是处理IOException以免使应用程序崩溃:如果某些文件未从总数中复制,则可以接受。
在下面的第二个片段中,有一个调用方法,用于处理异常。
我需要知道两件事:
a)是否有一种方法只能在被调用的方法中而不是在调用代码中处理异常?
b)您认为异常处理是正确的还是我需要添加其他代码?
下面是代码:
try {
copyfilesfromshared(context);
} catch (IOException e) {
e.printStackTrace();
}
public void copyfilesfromshared(Context context) throws IOException {
for (int ii = 0; ii < numfiles; ii++) {
try {
FileUtils.copyFileToDirectory(files[ii], dirwrite);
} catch (IOException e) {
e.printStackTrace();
}
}
}
有没有一种方法只能在被调用的方法中而不是在调用代码中处理异常?
如果您处理copyfilesfromshared()
函数中的异常,则无需声明throws IOException
public void copyfilesfromshared(Context context) {
for (int ii = 0; ii < numfiles; ii++) {
try {
FileUtils.copyFileToDirectory(files[ii], dirwrite);
} catch (IOException e) {
e.printStackTrace();
}
}
}
然后,您可以正常使用它,而无需try {...} catch(...)
再次声明:
copyfilesfromshared(context);
您认为异常处理是正确的还是我需要添加其他代码?
在我看来,这很好,但是最好检查其签名FileUtils.copyFileToDirectory
是否还会引发任何其他异常,您也许也想在这里捕获。
除此之外,您想处理异常完全在您这边,但总的来说,越早越好。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句