首页 > 解决方案 > 如何查看try块中catch的变化?

问题描述

我正在尝试创建一个 try 和 catch 语句,但是我遇到了范围问题,我在 catch 语句中所做的更改一旦我回来尝试就不会出现。有没有办法解决?我举个例子:

int num_fails = 0;
int num_tries = 0;
while(true) {
    try {
        num_tries++;
        some_function();
        if (num_tries > num_fails)
            break; 
    }
    catch(Exception e) {
        num_fails++;
    }
}

当异常发生时,if 语句中的 num_fails 保持为 0。

标签: javatry-catch

解决方案


catch只要有异常,块就会执行,但是在您给出的示例中,除非some_function() 抛出异常,否则没有异常。如果不,

catch块不会被执行。

因为,if 语句中的条件为真,while 循环将中断。


推荐阅读