drx*_*drx 10 java filenotfoundexception ioexception
FileNotFoundException是否以某种方式成为IOException的"子异常"?
这是我的代码打开给定路径上的文件的输入流:
method(){
FileInputStream fs;
try {
fs = new FileInputStream(path);
//
fs.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
Run Code Online (Sandbox Code Playgroud)
为什么我可以忽略FileNotFound而只是捕获IOException呢?FNFException是否是IOException的一部分?
如果我在我的方法中抛出IOException,而不是捕获异常?
method() throws IOException{
FileInputStream fs;
fs = new FileInputStream(path);
//
fs.close();
}
Run Code Online (Sandbox Code Playgroud)
我可以继续在这样的调用方法中捕获FileNotFoundException吗?
try {
method();
}catch (FileNotFoundException e1) {}
Run Code Online (Sandbox Code Playgroud)
感谢您提供的任何帮助!
das*_*ght 13
FileNotFoundException是否以某种方式成为IOException的"子异常"?
是的,延伸:FileNotFoundException IOException
Run Code Online (Sandbox Code Playgroud)java.lang.Object java.lang.Throwable java.lang.Exception java.io.IOException java.io.FileNotFoundException为什么我可以忽略FileNotFound而只是捕获IOException呢?
捕获异常抛出的基类会捕获异常,除非有更具体的catch子句可用.
我可以继续在这样的调用方法中捕获FileNotFoundException吗?
绝对!实际上,这是一件好事:您的代码应该只处理它知道如何处理的异常,并让所有其他异常传播到可以更好地处理它的地方.
是的。
如果你看继承FileNotFoundException是IOException. 通过捕获超类,您还可以捕获任何扩展它的东西。
如果您需要以不同的方式处理它,您可以像在第一个示例中一样首先捕获更具体的一个。
| 归档时间: |
|
| 查看次数: |
19795 次 |
| 最近记录: |