Я бы посчитал это плохой практикой или хотя бы немного рискованной.
Обычно методы более высокого уровня не выполняют блокирующих операций и никогда не увидят InterruptedException
там. Если вы маскируете его в каждом месте, где выполняете прерываемую операцию, вы никогда не получите его.
Единственное обоснование для Thread.currentThread.interrupt()
и отсутствие вызова какого-либо другого исключения или сигнализации о прерывании каким-либо другим способом (например, установка interrupted
переменной локальной переменной в главном цикле потока) - это ситуация, когда вы действительно ничего не можете сделать за исключением, как в блоках finally
.
См. Ответ Петера Торока, если вы хотите лучше понять последствия вызова Thread.currentThread.interrupt()
.