Exceção interrompida vs está Interrompida em um loop while

Suponha que eu tenha o seguinte código:

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

AgoraThread.sleep lança `InterruptedException então deve ser assim:

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

   }
}

Se eu acertar ocatch será owhile loop continuar ou eu preciso fazerThread.currentThread().interrupt()? Se eu chamar esse método, isso também não causaráInterruptedException? Caso contrário, como consegui a exceção em primeiro lugar?

Além disso, se eu tiver:

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

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

   }
}

mais uma vez meuwhile quebra de loop?

questionAnswers(3)

yourAnswerToTheQuestion