Да, будет выброшено исключение.Согласно javadoc для Thread.sleep , метод:
Throws: InterruptedException - если какой-либо поток прервал текущий поток.Прерванное состояние текущего потока очищается при возникновении этого исключения.
В этом случае «has» - это неофициальный способ ссылки на прерванное состояние.Обидно, что это неформально - если где-то спецификация должна быть точной и однозначной, ну, она везде, но прежде всего это потоковые примитивы.
В общем случае механизм прерывистого статуса работает, еслипоток получает прерывание, пока оно не прервано (потому что он работает), тогда прерывание по сути делается для того, чтобы дождаться прерывания потока, после чего он вызывает скачки, вызывая исключение InterruptedException.Это пример этого механизма.