Почему прописывая установку обработки исключений по умолчанию в классе TestedThread , валидатор не принимает. а прописывая после содание каждой нити валидатор принимает. Хотя результат в консоле один и тот же . Правильно ли я решил задачу у меня результат получился первая нить номер №2 вторая №1
Нить 2: My exception message
Нить 1: My exception message
public class Solution {
    public static Thread.UncaughtExceptionHandler handler = new OurUncaughtExceptionHandler();

    public static void main(String[] args) {
        TestedThread commonThread = new TestedThread(handler);
        Thread threadA = new Thread(commonThread, "Нить 1");
        threadA.setUncaughtExceptionHandler(handler);
        Thread threadB = new Thread(commonThread, "Нить 2");
        threadB.setUncaughtExceptionHandler(handler);
        threadA.start();
        threadB.start();
        threadA.interrupt();
        threadB.interrupt();
        }
      public static class TestedThread extends Thread {
        public TestedThread(Thread.UncaughtExceptionHandler handler) {
            setUncaughtExceptionHandler(handler);
            start();
        }
       public void run() {
            try {
                Thread.sleep(3000);
            } catch (InterruptedException x) {
                throw new RuntimeException("My exception message");
            }
        }
    }
     public static class OurUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
        @Override
        public void uncaughtException(Thread t, Throwable e) {
            System.out.println(t.getName() + ": " + e.getMessage());
        }
    }
}