2017-07-03 5 views
-4

Ich bin neu in Android (Java) -Codierung. Ich habe ein kleines Spielprogramm heruntergeladen. Dadurch, dass der Thread zu beenden, haben Sie den CodeWie fließt der Code in While-Schleife in Android?

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

Hier ist der Code Autor sagt, wenn die Ausnahme abfangen, wird der Code gehen Teil nicht auf die Anweisung Retry = false, um zu versuchen; Ich konnte das nicht glauben. Bitte geben Sie an, dass der Fluss korrekt ist.

program flow

Bitte geben

Dank

Anes

Antwort

1

Die Schleife einmal ausgeführt wird. Es spielt keine Rolle, ob eine Ausnahme ausgelöst wird, da die Wiederholung nach dem ersten Durchlauf immer auf "false" gesetzt wird. Wenn Sie möchten, dass die Schleife fortgesetzt wird, bis keine Exception ausgelöst wird, können Sie direkt nach dem thread.join(); im try-Block platzieren, so dass sie nur aufgerufen wird, wenn Sie nicht zum catch-Block gelangen.

+0

Vielen Dank .. Ich habe diese Idee aber von einem Tutorial-Autor verwirrt. – Anes