Я получаю исключение при использовании Thread.sleep(x) или ожидаю ()

Я попытался задержать - или поместить в сон - моя программа Java, но ошибка происходит.

Я не могу использовать Thread.sleep(x) или wait(). То же сообщение об ошибке появляется:

исключение, о котором не сообщают, java.lang. InterruptedException; должен быть пойман или, как объявлять, брошен.

Есть ли любой шаг, требуемый перед использованием Thread.sleep() или wait() методы?

340
задан Archmede 7 November 2017 в 06:52
поделиться

4 ответа

Тебе предстоит много чтения. От ошибок компилятора до обработки исключений, потоковой передачи и прерывания потоков. Но это будет делать то, что вы хотите:

try {
    Thread.sleep(1000);                 //1000 milliseconds is one second.
} catch(InterruptedException ex) {
    Thread.currentThread().interrupt();
}
574
ответ дан 23 November 2019 в 00:35
поделиться

Поместите свой Thread.sleep в блок try catch

try {
    //thread to sleep for the specified number of milliseconds
    Thread.sleep(100);
} catch ( java.lang.InterruptedException ie) {
    System.out.println(ie);
}
8
ответ дан 23 November 2019 в 00:35
поделиться

Посмотрите этот отличный краткий пост о том, как это сделать правильно.

По сути: поймать InterruptedException . Помните, что вы должны добавить этот блокировщик. Сообщение объясняет это немного дальше.

29
ответ дан 23 November 2019 в 00:35
поделиться

Используйте следующую конструкцию кодирования для обработки исключений

try {
  Thread.sleep(1000);
} catch (InterruptedException ie) {
    //Handle exception
}
13
ответ дан 23 November 2019 в 00:35
поделиться
Другие вопросы по тегам:

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