欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java循环中try...finally...遇到continue

程序员文章站 2022-04-06 15:53:55
...

一段很简单的代码,先自己在大脑中给出结果:

for (int i = 0; i < 5; i++) {
    System.out.println("enter: i=" + i);
    try {
        if (i % 2 == 0)
            continue;
    } finally {
        System.out.println("leave: i=" + i);
    }
}

运行结果:

enter: i=0
leave: i=0
enter: i=1
leave: i=1
enter: i=2
leave: i=2
enter: i=3
leave: i=3
enter: i=4
leave: i=4
enter: i=5
leave: i=5

为什么会提出这个问题呢?是因为在review代码时,finally中有比较重要的业务逻辑,特别注意了下这个代码结构,虽然知道finally是一定会会执行的,但是又纠结于continue会忽略循环中后面的代码,所以就写了上面的测试程序。

结论

即使循环中的try...finally...中有continue,finally始终都是会执行的。