FileNotFoundException 是否是 IOException 的“子异常”?
这是我的代码,打开给定路径处文件的输入流:
method(){
FileInputStream fs;
try {
fs = new FileInputStream(path);
//
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
为什么我可以忽略 FileNotFound 而只捕获 IOException 呢?
FNFException 是 IOException 的一部分吗?
如果我在方法中抛出 IOException,而不是捕获异常,会怎样?
method() throws IOException{
FileInputStream fs;
fs = new FileInputStream(path);
//
fs.close();
}
我可以继续在这样的调用方法中捕获 FileNotFoundException 吗?
try {
method();
}catch (FileNotFoundException e1) {}
感谢您能够提供的任何帮助!
FileNotFoundException 是否是 IOException 的“子异常”?
Yes, FileNotFoundException extends IOException
:
java.lang.Object
java.lang.Throwable
java.lang.Exception
java.io.IOException
java.io.FileNotFoundException
为什么我可以忽略 FileNotFound 而只捕获 IOException 呢?
捕获正在抛出的异常的基类将捕获该异常,除非有更具体的catch
条款可用。
我可以继续在这样的调用方法中捕获 FileNotFoundException 吗?
绝对地!事实上,这是一件好事:您的代码应该只处理它知道如何处理的异常,并让所有其他异常传播到可以以更好的方式处理的地方。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)