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最后也是会被执行的

猜你喜欢

转载自blog.csdn.net/onepiece_loves/article/details/88707710