java异常处理机制---学习

java中异常处理机制,try--catch---throw;

学习了一些文章:

http://blog.csdn.net/hguisu/article/details/6155636

http://bbs.csdn.net/topics/390251133  :解答程序中为什么在没有try--catch时也可throw异常。


首先明确几个概念:

 1、异常:程序本身能够处理的为异常,是不期而遇的。

 2、错误:程序本身不能处理的错误。

两者都继承了Throwable类。

   异常指不期而至的各种状况,如:文件找不到、网络连接失败、非法参数等。异常是一个事件,它发生在程序运行期间,干扰了正常的指令流程。Java通 过API中Throwable类的众多子类描述各种不同的异常。因而,Java异常都是对象,是Throwable子类的实例,描述了出现在一段编码中的 错误条件。当条件生成时,错误将引发异常。

一、在程序中也可不用try---catch ,直接throw 异常:

Exception:它指出了合理的应用程序想要捕获的条件。

Exception又分为两类:一种是CheckedException,一种是UncheckedException。这两种Exception的区别主要是CheckedException需要用try...catch...显示的捕获,而UncheckedException不需要捕获。通常UncheckedException又叫做RuntimeException。《effective java》指出:对于可恢复的条件使用被检查的异常(CheckedException),对于程序错误(言外之意不可恢复,大错已经酿成)使用运行时异常(RuntimeException)。

二、使程序在抛出异常后仍然执行:

try{}catch(){}finally{} 捕捉到异常后,继续向下执行。 


三、遇到异常(1、自己解决,自己消化2、抛出去)

什么时候会遇到异常:读数据库时,(1、数据库未连接上(报异常)2、有依赖关系的数据(修改,删除)报异常)

在删除时,若没有找到指定的记录,不会报异常。




posted @ 2015-09-19 10:42  yeemi  阅读(85)  评论(0编辑  收藏  举报