如何解决处理函数内部的 IOException
我有一种方法可以使用 FileUtils 库将一些文件从共享内存复制到内部应用内存。
目标是处理 IOException 以免应用崩溃:如果某些文件没有从总数中复制出来,这是可以接受的。
我需要知道两件事:
a) 有没有办法只在被调用的方法中处理异常 并且不是也在调用代码中吗?
代码如下:
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
的签名,如果它也抛出任何其他异常,您可能也想在这里捕获。
除此之外,您想要处理异常完全取决于您,但通常越早越好。
,嘿,
对于你的第一个问题
a) 有没有办法只在被调用的方法中处理异常 并且不在调用代码中?
从被调用的方法或抛出 IOException 之间有一个选择 实现 try/catch 内部方法。
这就是你的问题 您正在选择两个选项而不是一个,所以只需选择一个。
关于 2 个问题
b) 在您看来异常处理是正确的还是我需要 添加一些其他代码?
此时异常处理是最好的,所以不要想和其他的想
仅此而已!!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。