Кто может объяснить, откуда этот кусок кода
public static class OurUncaughtExceptionHandler implements Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread t, Throwable e) {
System.out.println(t.getName() + ": " + e.getMessage());
}
}
знает о том, что вызвался этот кусок кода
catch (InterruptedException e) {
throw new RuntimeException("My exception message");
И почему не вызывается в таком случае конструктор/сообщение ("My exception message") Отдельно от System.out.println(t.getName() + ": " + e.getMessage());
Да, я указал обработчик, но все-таки не понимаю как это работает внутри и почему оно должно именно так работать
threadA.setUncaughtExceptionHandler(handler);
threadB.setUncaughtExceptionHandler(handler);