小白胡说:java 异常处理

       当小白第一次接触到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语句不能单独存在,可以和catchfinally组成的try…catchtry…catch…finallytry…finally三种结构,catch语句可以有一个或者多个,但是trycatchfinally不能单独存在

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

  3.多个catch语句,java虚拟机会自动匹配其中一个异常或者异常子类,就执行这个catch块中代码,并且不会再执行其他catch块中的代码.


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值