Dotcpp  >  编程教程  >  Java内部类与异常类  >  Java try…catch…finally语句里return语句的执行顺序(4)

Java try…catch…finally语句里return语句的执行顺序(4)

点击打开在线编译器,边学边练

第四种情况

try语句块、catch语句块和finally语句块里面都有return语句,存在异常


代码如下:

public class Main {
    public static void main(String[] args) {
        System.out.println(test4());
    }
    public static int test4() {
        int i =10;
        try {
            System.out.println("try语句");
            int j = 10 / 0;
            return --i;
        }
        catch (Exception e) {
            System.out.println("catch语句");
            return --i;
        }
        finally {
            System.out.println("finally语句");
            return --i;
        }
    }
}


运行结果如下:

try语句
catch语句
finally语句
8


执行顺序:

1.先执行try块中语句,出现异常,catch捕获到异常。

2.执行catch块中语句,包括return语句中的表达式运算,但不返回。

3.执行finally语句块中的全部代码。

4.最后发现finally语句块中有return语句,从这里返回。



本文固定URL:https://www.dotcpp.com/course/814

Java教程
第一章 Java入门
第二章 Java运算符和表达式
第三章 Java流程控制
第四章 Java类和对象
第五章 Java子类与继承
第六章 Java接口与实现
第七章 Java内部类与异常类
第八章 Java常用实用类
第九章 Java输入输出流
第十章 Java数组
Dotcpp在线编译      (登录可减少运行等待时间)