Прерванная исключительная ситуация против isInterrupted в цикле while

Предположим, что у меня есть следующий код:

while(!Thread.currentThread().isInterrupted()){  
    //do something   
    Thread.sleep(5000);  
}

В настоящее времяThread.sleep генерирует `InterruptedException, поэтому должно быть так:

while(!Thread.currentThread().isInterrupted()){  
   //do something   
   try{  
     Thread.sleep(5000);    
   } catch(InterruptedException e){  

   }
}

Если я ударилcatch будет лиwhile цикл продолжить или мне нужно сделатьThread.currentThread().interrupt()? Если я вызову этот метод, не вызовет ли этоInterruptedException? Иначе как я получил исключение в первую очередь?

Также если у меня есть:

while (!Thread.currentThread().isInterrupted()){  
   //do something   
   callMethod();  
}  

private void callMethod(){  
   //do something  
   try {  
     Thread.sleep(5000);    
   } catch(InterruptedException e){  

   }
}

опять будет мойwhile разрыв цикла?

Ответы на вопрос(3)

Ваш ответ на вопрос