Когда Thread.sleep Java бросает InterruptedException?

Вы можете просто сделать это:

import os
import glob

files = glob.glob('/YOUR/PATH/*')
for f in files:
    os.remove(f)

Конечно, вы можете использовать другой фильтр в вашем пути, например: /YOU/PATH/*.txt для удаления всех текстовых файлов в каталоге.

106
задан 3 revs, 3 users 100% 14 January 2016 в 18:54
поделиться

3 ответа

Обычно НЕ следует игнорировать исключение. Взгляните на следующий документ:

Не принимайте прерывания

Иногда возникает ошибка InterruptedException. не вариант, например, когда задача, определенная Runnable, вызывает прерывистый метод. В этом случае перебросить нельзя InterruptedException, но вы также не хотите ничего делать. Когда метод блокировки обнаруживает прерывание и выдает исключение InterruptedException, он очищает прерванный статус. Если вы поймаете InterruptedException но не можете отбросить его повторно, вы должны сохранить доказательства того, что произошло прерывание, так что код выше в стеке вызовов может узнайте о прерывании и ответьте на него, если захотите. Эта задача выполняется путем вызова interrupt () для "повторного прерывания" текущего thread, как показано в листинге 3. По крайней мере, всякий раз, когда вы ловите InterruptedException и не генерируйте его повторно, повторно прерывайте текущий поток перед возвратом.

 открытый класс TaskRunner реализует Runnable {
 приватная очередь BlockingQueue ;

 public TaskRunner (очередь BlockingQueue ) { 
 this.queue = очередь; 
 }

 public void run () { 
 пытаться {
 while (true) {
 Задача task = queue.take (10, TimeUnit.SECONDS);
 task.execute ();
 }
 }
 catch (InterruptedException e) { 
 // Восстановление прерванного статуса
 Thread.currentThread (). Прерывание ();
 }
 }
}

См. Всю статью здесь:

http://www.ibm.com/developerworks/java/library/j-jtp05236/index.html?ca= drs-

38
ответ дан 24 November 2019 в 03:53
поделиться

Информационный бюллетень специалистов по Java (который я могу безоговорочно рекомендовать) содержал интересную статью об этом и о том, как обрабатывать InterruptedException . Его стоит прочитать и усвоить.

12
ответ дан 24 November 2019 в 03:53
поделиться

Надежный и простой способ справиться с этим в однопоточном коде - это перехватить его и вернуть в исключении RuntimeException, чтобы избежать необходимости объявлять его для каждого метода.

3
ответ дан 24 November 2019 в 03:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: