android循环中while循环中的代码流程如何?

时间:2017-07-03 06:14:29

标签: android while-loop try-catch

我是Android(Java)编码的新手。我下载了一个小游戏程序。在那个终止线程,有代码

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
    boolean retry = true;
    while (retry) {
        try {
            thread.setRunning(false);
            thread.join();
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
        retry = false;
    }
}

这里代码作者说如果捕获异常,代码将尝试部分而不是语句retry = false; 我简直不敢相信。请告知流程是否正确。

program flow

请告知

由于

ANES

1 个答案:

答案 0 :(得分:1)

循环将运行一次。无论是否抛出异常,因为在第一次运行后重试始终设置为false。如果您希望循环继续直到没有抛出异常,您可以将retry = false;直接放在try区块中thread.join();之后,这样只有在您不接受时才会调用它到达捕获区。