Я использовал Thread.sleep
для всех видов разным причинам, но одна вещь, которую я никогда не понимал, когда исключение произойдет во время этой попытки/поймать блока:Когда будет достигнута эта блокировка?
try {
Thread.sleep(1000); // sleep for 1 second.
} catch (Exception x) {
fail("Failed due to an exception during Thread.sleep!");
x.printStackTrace();
}
Что бы произойти в компьютере на самом деле ударить исключение на Thread.sleep
? Мое лучшее предположение, возможно, в том, что, возможно, системные часы имеют один раз в жизни «пропустить бит», как пульс, но как часто это происходит.
Итак, в сущности, мой вопрос: при выполнении Thread.sleep
, что должно произойти внутри для #sleep
, чтобы выбросить исключение?
Единственное проверенное исключение, о котором я знаю, это 'InterruptedException'. (Обратите внимание, что если код обнаруживает что-то более конкретное, чем «Исключение», вы, вероятно, не будете царапать свою голову здесь. Вы никогда не должны «ловить (исключение)» по ряду причин, включая это.) – cHao