如果我理解正确的话,这里是我正在考虑的用例。
表达式:
新的FileInputStream(“路径”);
如果文件不存在,则可能抛出FieloToFunDebug()。FileNotFoundException扩展了IOException,因此您可以编写如下代码:
public void readFromFile(字符串路径){
InputStream in=新文件InputStream(路径);
//做点什么。。。。
}
现在可以按如下方式调用此方法:
试试看{
readFromFile(“myFile”);
}捕获(IOException e){
if(FileNotFoundException的实例){
FileNotFoundExceptio fnfe=(FileNotFoundException)e;
//做soemthing
}
//做点别的
}
但是我建议您为FileNotFoundException和IOException创建单独的catch块(至少对于这个用例):
试试看{
readFromFile(“myFile”);
}catch(文件未找到异常e){
//对FileNotFoundException执行操作
}捕获(IOException e){
//用IOException做点什么
}
这段代码不包含instanceof、casting和其他难看的东西。