异常相关概念

异常 Exception

    Exception分为 checked异常(受检异常) 和 unchecked(非受检异常)

    checked异常需要在代码中显式处理的异常,否则会编译报错,如有能力则自行处理,如果无法处理则向调用方抛出异常
    unchecked异常是运行时异常,它们都继承自RuntimeException,不需要显示的处理异常
        unchecked分为三类:
            1.可预测异常: 如 IndexOutOfBoundsException NullPointException等,需要做好边界检查、空值判断
            2.需要捕捉的异常: 如Dubbo进行RPC调用时超时异常,此类需要客户端进行显示处理
            3.可透出异常: 框架或者系统产生的且会自行处理的异常

    finally 代码块,通常用于处理善后工作,如果finally代码块没有执行,可能原因有以下三个:
        1. 没有进入try代码块
        2. 进入try代码块,但是代码运行中出现了死循环或者死锁状态
        3. 进入了try代码块,但是执行了System.exit()操作
    注意:
        finally是在return表达式运行后执行的,此时将要return的结果已经暂时存起来,待finally代码块执行结束后再将
    之前的暂存的结果返回。

    finally代码块的职责是: 清理资源、释放连接、关闭管道流等操作。

    finally使用return会使得返回值非常不可控,避免在返回值中使用return语句

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值