永发信息网

Java异常try里面有return,finally代码会执行吗

答案:1  悬赏:0  手机版
解决时间 2021-12-01 20:51
  • 提问者网友:ミ烙印ゝ
  • 2021-12-01 05:50
Java异常try里面有return,finally代码会执行吗
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-12-01 07:17
finally段的代码无论是否发生异常都要执行!
代码执行顺序介绍:
如果try中的语句出现异常,那么try块中异常语句后的代码不执行,直接执行catch块中的代码,最后执行finally块中的代码(遇到return结束程序);如果try中的语句没有异常,执行try块中return前的语句,最后执行finally块中的语句(遇到return结束程序),不会执行catch块中的语句。
代码演示验证:

    当try块中return前的语句没有异常时
public class ReturnTest {
    public static void main(String[] args) {
        try {
            System.out.println("try中的语句");
            return;
        } catch (Exception e) {
            System.out.println("catch中的语句");
            return;
        } finally {
            System.out.println("finally中的语句");
        }
    }
}执行效果:

    当try块中return前的语句出现异常时:
public class ReturnTest {
    public static void main(String[] args) {
        try {
            int ii = 5;
            ii = ii / 0; // 分母不能为0,此处有异常
            System.out.println("try中的语句");
            return;
        } catch (Exception e) {
            System.out.println("catch中的语句");
            return;
        } finally {
            System.out.println("finally中的语句");
        }
    }
}执行效果:

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯