Przerwany wyjątek vs jest przerwany w pętli chwilowej

Załóżmy, że mam następujący kod:

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

TerazThread.sleep zgłasza `InterruptedException, więc powinno być tak:

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

   }
}

Jeśli trafięcatch będziewhile kontynuuj pętlę lub muszę to zrobićThread.currentThread().interrupt()? Jeśli nazywam tę metodę, nie spowoduje to równieżInterruptedException? W przeciwnym razie, w jaki sposób otrzymałem wyjątek?

Także jeśli mam:

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

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

   }
}

znowu będzie mojawhile przerwa w pętli?

questionAnswers(3)

yourAnswerToTheQuestion