《Java核心技术 Ⅰ》第九版 第十一章有关异常问题

别闹了费曼sir 2018-03-09 01:34:59
P479
	public static void read(String filename) {
try {
System.out.println("....");
InputStream inputStream = new FileInputStream(filename);
int b;
while ((b = inputStream.read()) != -1) {
System.out.println(b);

}
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}

代码后面写的是read方法有可能抛出一个IOException异常,指的是什么异常?我的理解是filename是一个不存在的文件路径,抛出的是java.io.FileNotFoundException异常。

但是在P473页又说明了,试图打开一个不存在的文件的异常派生于RuntimeException,这不是矛盾了吗?
...全文
502 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹了费曼sir 2018-03-10
  • 打赏
  • 举报
回复
我去,看错了,看书太不仔细了
林晓风 2018-03-09
  • 打赏
  • 举报
回复
你多理解理解异常的分类,IOException是检查异常,RuntimeException是运行时异常,两者不矛盾。还有,IOException异常,指的是IO流异常,就是打开IO流通道失败,关闭流失败,流操作失败等等,都会抛出IOException异常,而java.io.FileNotFoundException异常指的是找不到文件。
别闹了费曼sir 2018-03-09
  • 打赏
  • 举报
回复
引用 1 楼 goldenfish1919 的回复:
IOException:比如硬盘坏掉了读不出来了,不仅仅是文件不存在

在我上面的代码中属于文件不存在的异常呀
我的意思是一个异常不可能既是IOException又是RuntimeException啊,附上书上的树状图
若鱼1919 2018-03-09
  • 打赏
  • 举报
回复
IOException:比如硬盘坏掉了读不出来了,不仅仅是文件不存在

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧