Вооружаемся до зубов!
Зачем тут stringbilder если нужно заменить ВСЁ имя на звёздочки, примерно так:
// Маскируем имя треда звездочками
String threadName = t.getName();
String maskedName = threadName.replaceAll(".", "*");
// Выводим описание ошибки в консоль
System.out.println(e.getMessage().replaceAll(t.getName(), maskedName));
я единственный, кто из 2024....
нас было много, смеялись и улыбались.
мы решали задачки, читали глупые лекции на джава раш.
их не вижу здесь, сейчас.....
люди добрые, скажите мне пожалуйста: задачи не отвечают уровню подготовки в предедущих лекциях, или мне кажеться? - потому что у меня при решении задач возникает много вопросов. я надеюсь я не один такой. спасибо за ответ, всем хорошого дня
Да, есть такое. Частенько дают в задачках то, что появляется в будущих лекциях.
Это специально делают, чтобы человек учился гуглить, а не надеялся только на материалы.
throw < Ваше исключение>
// Пример:
throw new Error("Абра-Кадабра");
По поводу проверки.
На самом деле вам не обязательно даже делать поток. В принципе вы делаете обычный метод и в нём проверяете свой код, для последней задачи, например, так:
public class Solution implements Thread.UncaughtExceptionHandler {
@Override
public void uncaughtException(Thread t, Throwable e) {
}
public static void main(String[] args) {
try {
throw new Exception("ABC", new RuntimeException("DEF", new IllegalAccessException("GHI")));
} catch (Exception e) {
// Ваш код
}
}
}
Потом перекинете то, что в секции "ваш код" в uncaughtException и на проверку.
public static void main(String[] args) throws Exception {
Thread.setDefaultUncaughtExceptionHandler(new Solution());
throw new Exception("ABC", new RuntimeException("DEF", new IllegalAccessException("GHI")));
}
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ