Код РАБОТАЕТ, с ним всё ОК !!! ("Тикет от конкретной задачи открепил") Сам вопрос после кода :
public static volatile int numSeconds = 3;

    public static void main(String[] args) throws InterruptedException {
        RacingClock clock = new RacingClock();
        Thread.sleep(3500);
        clock.interrupt();
    }

    public static class RacingClock extends Thread {
        public RacingClock() {
            start();
        }

        @Override
        public void run() {
            try {
                while (!isInterrupted()) {
                    if (numSeconds > 0) {
                        System.out.printf("%d ", numSeconds);
                        numSeconds--;
                    } else if (numSeconds == 0) {
                        System.out.print("Марш!");
                        break;
                    }
                    Thread.sleep(1000);
                }
            } catch (InterruptedException e) {
                System.out.println("Прервано!");
            }
        }
    }
Вопрос: В try /catch (27 строка) я ловлю ошибку InterruptedException ! Она возникает из-за того, что я прервал нить (25 строка) Thread.sleep(1000) ???