异常处理

1:Throwable类

Throwable 类是 Java 语言中所有错误或异常的超类。只有当对象是此类(或其子类之一)的实例时,才能通过 Java 虚拟机或者 Java throw 语句抛出。类似地,只有此类或其子类之一才可以是 catch 子句中的参数类型。

它的两个子类:Error 和 Exception,通常用于指示发生了异常情况。
Throwable分类
java文档
2:RuntimeException
运行异常(也称为unchekckedException)有很多子类,他们会自动被java 虚拟机抛出,所以不必在异常说明中把他们列出来,运行异常代表的是变成错误。一般不进行捕捉。(thinking in java p263)
3:抛出异常-throw,throws
当抛出异常后,有几件事情会随之发生。首先:同java中其他对象的创建一样,将使用new在堆上创建异常对象,然后,当前的执行路径(不能继续下去了)被终止,并且从当前环境中弹出对异常对象的引用。此时,异常处理机制接管程序,并开始寻找一个“恰当的地方”(即异常处理程序 thinking in java p 250)来继续执行程序,这个恰当的地方就是异常处理程序。它的任务是将程序从错误状态中恢复,以使程序要么换一种方式运行,要么继续运行下去。
4:捕获异常
如果在方法内部抛出了异常,或者在方法内部调用的其他方法抛出了异常,这个方法将在抛出异常的过程中结束。若不想程序结束,可捕获异常:try块。

好处:可以把所有的动作都放到try里面,然后只需要在一个地方便可以捕获所有异常,完成任务的代码与错误检查的代码没有混淆在一起,这将使代码更容易编写和阅读。

try{
}catch(Type1 id1){
 // handle exception of type1
 }catch(Type2 id2){
 //handle exception of type2
 }finally{
 //必须执行
 }

5:异常处理程序(关键字catch表示)
每个catch语句中都有一个类型,只有匹配的catch子句才能得到执行,并且执行完便结束,不再执行其他的catch语句(不同于swutch语句)
6:finally关键字
无论异常是否被抛出吗,finally子句都能被执行。对于没有垃圾回收机制的语言,finally使内存保证释放。在java中把处内存之外的资源恢复到他们的初始状态时,要用到finally子句:已经打开的文件或网络连接等。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值