我是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; 我简直不敢相信。请告知流程是否正确。
请告知
由于
ANES
答案 0 :(得分:1)
循环将运行一次。无论是否抛出异常,因为在第一次运行后重试始终设置为false。如果您希望循环继续直到没有抛出异常,您可以将retry = false;
直接放在try区块中thread.join();
之后,这样只有在您不接受时才会调用它到达捕获区。