本帖最后由 陈虹旭 于 2012-10-2 19:32 编辑
我还没有学到FileReader 和FileNotException相关的知识,不过今天刚刚学习完RuntimeException,你的程序也大致可以看懂,也对这个知识点稍有理解,我觉得:
1.catch (FileNotFoundException e)
这里捕获了没有找到文件的异常,没有找到文件,就没有办法对这个程序做任何处理,只能抛出这个异常,但是这个异常是这个文件的异常,而不是你的异常,调用者之所以调用你的getFileReader方法,是要得到一个结果,也就是找到还是没找到,并不是把文件的异常问题给调用者,因为你给他他也看不懂,还是没法处理,他就只能抛给jvm了,所以这里抛出的是RuntimeException,这个异常就是说没法处理,只能让程序停止,跟调用者传的参数有关系,什么时候传进的参数符合要求了程序就能正常运行了
2.RuntimeException这个异常是不用声明的,即使声明了,抛出给调用者,调用者也不用处理,因为它是运行异常
其实没有太大的区别,非RumtimeException异常必须声明,RuntimeException异常可以不用声明,都是都要用throw抛出的
3.catch住不throw只打印信息不是就失去了对程序处理的本质了吗?一般处理都是要做出具体处理的,而不是仅仅打印出信息让调用者看见而已
4.我觉得其实这样的异常都是根据现实描述事物而定的,也就是说看事物是怎样的事物了,根据情况而定来决定对catch所捕获的对象做怎样的解决,我建议你再回头看下RuntimeException的视频
这是我对这个程序的理解,如果有不对的地方望谅解,我是新手,呵呵!不过还是希望对你有帮助!
|