TGViewer
Java Ready | Программирование Java Ready | Программирование @java_ready · 9.26K subscribers
Post #2249 448
Почему нельзя просто проигнорировать InterruptedException?

Поток может ждать завершения задачи, блокировки или таймера. Другой поток вправе попросить его остановиться через interrupt. Например, worker делает паузу между проверками:
while (!Thread.currentThread().isInterrupted()) {
processNext();
Thread.sleep(1000);
}


Если вызвать interrupt во время sleep, метод выбросит InterruptedException. При этом флаг прерывания будет очищен. Это важный момент: после перехвата исключения простая проверка isInterrupted уже не увидит запрос на остановку.

Такой обработчик теряет сигнал:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
System.out.println("continue");
}


Программа продолжит работу, будто отмены не было. Это особенно неприятно в пуле потоков и при остановке сервиса, вызывающий код считает, что попросил завершить задачу, а она выполняется дальше.

Если метод может передать исключение выше, оставь его в сигнатуре:
void pause() throws InterruptedException {
Thread.sleep(1000);
}


Тогда решение об остановке примет вызывающий уровень. А если исключение приходится перехватить внутри Runnable или другого метода без throws, восстанови флаг и заверши работу:
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
Thread.currentThread().interrupt();
return;
}


Восстановленный флаг увидит внешний код, который проверяет состояние потока.

👉 Java Ready | #совет
  • 👍 4
  • 🔥 3
  • ❤ 2
More from @java_ready
  1. Oct 13, 2026Собрала чат-бота за вечер → заработала 10 000₽. Просто представь, кто-то стоит в очереди н…
  2. Oct 13, 2026Как поддерживать один плагин для Paper и Velocity? Paper запускает игровой сервер, а Veloc…
  3. Oct 12, 2026Делаем простой CSV exporter на Java! Иногда нужно быстро выгрузить данные в CSV. Например,…
  4. Oct 12, 2026🗂 Пакет Безопасности — папка, которую админ собирал более 10 лет ⚡️ Слитые курсы по IT и…
  5. Oct 12, 2026Проверяем обновления через ETag в Java! Когда приложение часто запрашивает один ресурс, не…
  6. Oct 9, 2026photo post
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →