异常处理

1.      异常处理

当程序运行出现异常情况时系统会自动生成一个Exception对象,该对象被提交给java运行时环境,称为抛出(throw)异常。Java运行时环境寻找能处理异常对象的catch块,将异常对象交给catch块处理,这个过程为捕获异常。如果找不到catch块则运行时环境终止,java程序也将退出。

2.      异常类得继承体系

1) 如何找到处理异常对象的catch块:当Java运行时环境接收到异常对象后,会依次判断异常对象是否是catch块后异常类得实例或其子类的实例。如果是则用此catch块来处理此异常对象。否则再次判断异常对象和下个catch块的异常类型进行比较。当找到对应的catch块后异常对象会传递给catch块的异常参数,这样catch块里就可以通过异常对象获取异常信息了。

try {

       …

} catch (ExceptionClass1 e1) {

       …

} catch (ExceptionClass2 e2) {

       …

}

2) 继承体系

非正常情况分为异常(Exceptiom)和错误(Error)。

Error:一般指虚拟机相关的问题。如系统崩溃,虚拟机出现问题,动态链接失败。这种错误无法恢复或不可扑捉。

Exception:

3)访问异常信息

4)使用finally回收资源

当在try块中打开了数据库链接,网络链接和磁盘文件后,在finally块里进行回收处理。

try{
}catch(Exception e){

} finally {

}

5) checked和runtime 异常,所有runtimeException类及其子类为runtime异常,其他的称为checked异常。

6)使用throw 生命抛出异常

当当前方法不知道该如何处理异常是可以将异常抛给上一级调用者处理。

子类方法中抛出的异常类型必须与父类相同或是父类的子类。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值