您的位置:首页 > 编程语言 > Java开发

小白胡说:java 异常处理

2015-07-11 23:03 477 查看
当小白第一次接触到Java的异常处理额时候,首先映入我眼帘是就是throwable这个单词。那这个单词是什么意思呢?

Throwable:所有已实现的接口。
Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。 在往下一看,两个框,分别写的是Error和Exception .即它的直接子类。

Error(错误):程序在执行的时候,遇到错误,直接终止程序。

Exception(异常):异常大致又分为两类,分别是 受检异常和非受检异常。他们的关系图如下:

下面,小白来胡说一下异常处理机制。

1、一旦产生异常,则系统会自动产生一个异常实例化对象

2、此时如果存在try语句,则会自动找到匹配的catch语句执行,如果没有异常处理,则程序将会退出,系统报告异常在控制台

3、所有异常根据catch方法参数进行匹配异常的实例化对象,如果匹配成功,则由匹配成功的catch语句进行处理。

异常处理的关键字,目前小白接触到的就两种,不知道是不是所有的,高能见了不要见笑:-D。

第一中格式如此:

try{

//可能出现的异常代码部分

}catch{

//执行异常操作

}catch{

//执行异常操作

}...

finally{

//处理完try与catch操作后的收尾操作,异常统一出口

//在异常处理后,在异常处理格式中还有一个finally语句name此语句将作为异常的统一出口,不管是否产生异常,最终都要执行此段代码。

}

第二中:

throw与throws

Throws关键字主要在方法的声明上使用,表示方法中不处理异常,移交给调用处处理,默认有jvm进行异常的处理操作

Throw关键字表示在程序中手动抛出一个异常,因此从异常异常处理机制看,所有的异常一旦产生后,实际上抛出的就是一个异常的实例化对象,name此对象也可以有throw直接抛出。

异常处理规则:

1.try语句不能单独存在,可以和catch、finally组成的try…catch、try…catch…finally、try…finally三种结构,catch语句可以有一个或者多个,但是try、catch、finally不能单独存在

2.try、catch、finally三个代码块中的语句变量独立存在,不能相互访问

3.多个catch语句,java虚拟机会自动匹配其中一个异常或者异常子类,就执行这个catch块中代码,并且不会再执行其他catch块中的代码.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: