InterruptedException
은 catch 했을 때 log 를 남기고 다시 throw 하거나, Thread.currentThread().interrupt()
를 호출한다. 다른 예외로 전환해서 던지지 않는다.쓰레드가 Interrupted 상태인지 여부를 확실히 알게 해주어야 한다.
try { TimeUnit.SECONDS.sleep(5); } catch (InterruptedException e) { log.error("Thread interrupted.", e); Thread.currentThread().interrupt(); }