java学习笔记63--finally语句块

由于异常处理有时候会改变程序的正常流程,这会使得某些不管在任何情况下都必须执行的步骤被忽略,从而影响程序的健壮性。

    小王开了一家店,在店里上班的正常流程为:打开店门、工作8个小时、关门。异常流程为:小王在工作时突然犯病,因而提前下班
    例如:
        public void work() {
            try {
                开门();
                工作8个小时();
                关门();
            } catch(Exception e) {
                去医院()
            }
        }

    小王在工作时突然犯病,那么流程会跳转到catch代码块,这意味着关门的操作不会被执行,这样的流程显然是不安全的,必须确保关门的操作在任何情况下都会被执行.
    

    finally代码块能保证特定的操作总是会被执行,它的形式如下:
        public void work() {
            try {
                开门();
                工作8个小时();
            } catch(Exception e) {
                去医院()
            } finally {
                关门();
            }
        }

    注:即使方法中执行了return语句,finally最后也是会被执行的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值