次のコードがあると仮定します。
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
ループは壊れますか?