This check warns when an InterruptedException could be thrown but isn’t being
individually handled.
It is important for correctness and performance that thread interruption is
handled properly, however try blocks that catch Exception or Throwable (or
methods that throws either type) make it difficult to recognize that
interruption may occur.
For advice on how to handle InterruptedException, see https://web.archive.org/web/20201025132525/https://www.ibm.com/developerworks/library/j-jtp05236/index.html
Where possible, the best option is to enumerate the specific exceptions being
thrown/caught, so that InterruptedException is not possible. For example use
multiple exception types
in a catch block instead of catching Exception.
Suppress false positives by adding an
@SuppressWarnings("InterruptedExceptionSwallowed") annotation to the enclosing
element, or the caught exception.
try {
...
} catch (@SuppressWarnings("InterruptedExceptionSwallowed") Exception e) {
throw new IllegalStateException(e);
}