=================================================
转自:http://yunshuisuiyuan.iteye.com/blog/1544065
程序中的 异常 分为两种 运行异常 与 检查异常。
那么什么是异常呢?
异常就是没考虑到的情况出现了,导致程序无法继续运行(异常 错误)。
比如一个人去买东西,身上带了两元钱,要买一个杯子(五元)。
掏钱的时候发现钱不够,接下来呢?
你可以回家取钱,可以向朋友借钱,也可以从银行卡里取钱,但是程序可以吗?程序到这里只能
停止了。这时候就是运行异常了。运行期间出现异常。
所以你就要用到 try catch ,如果捕获到 钱不够 的异常,就 如何如何
这样以来,这个异常就被你处理了。这个被你处理的异常就是 检查异常
总而言之,检查型异常就是我们考虑到了可能出现异常的情况,然后通过代码处理出现该异常时程序
该如何做而不会导致程序停止。
而那些没有考虑到的异常就会导致程序无法继续运行,当遇到这类的异常我们就会分析原因,
找到解决方法,然后把它写到代码里,让这个异常也成为 检查异常。
答:
异常就是出现了阻止我们顺利做事情的 情况,而如果事先考虑到了这个情况,我们就会想好如何
去处理它,而不会因为这个异常终止我们的事情。如果我没有考虑到这个情况,我们就不知道如何
处理它。
我们处理异常的宗旨是什么?
处理异常的宗旨就是为了让程序能够正常的运行。
出现异常不可怕,分析了原因,想到了解决方法,然后再把它变成代码写在 try catch 里。
下次出现这个异常就不会导致程序终止了。
所以一个健壮的容错性强的程序就是把不同环境中出现的 运行异常 变成 检查异常 的结果。
检查异常 和 运行异常 在代码中有何区别?
在上面我们已经说明了 检查异常 与 运行异常 的意义与区别。
在代码中,如果是运行时异常,我们可以不用方在 try catch 块中,因为我们根本就不知道该
如何去处理这个异常来保障程序的正常运行。如果是 检查异常,我们就要对这个异常进行处理,既然
是检查异常,我们应该已经有了处理这个异常的方案,所以就要用 try catch 处理这个异常来保障
程序运行。
导致程序无法继续运行 的情况除了 异常 还有 错误,那么什么是错误呢?
比如你买火车票去了,火车站通知说所有的火车因大雪停止运营了。
你要访问远程机器,可是网络因断线而断网了。
这就是错误,我们知道程序因它而停止,我们确没办法处理它,这就是错误。
比如要读取文件,可文件所在的磁盘存在坏道导致无法读取,这个错误你知道了也没办法。(除非你做的软件就是为了修复磁盘逻辑坏道的)
Exception: (检查型)在程序中必须使用 异常处理块
RuntimeException :(非 检查型)可以不使用 异常处理块,如果有异常产生,将由 JVM 进行处理。
===============================================================