Разобраться, что делает программа.
Почитать про UncaughtExceptionHandler - это важно.
Еще раз внимательно посмотреть программу.
Разобраться - продебажить - почему наш OurUncaughtExceptionHandler не срабатывает.
Исправить ошибку, т.е. все должно работать. :)
Ожидаемый результат в произвольном порядк
Отдебажим все на свете
- 18
Недоступна
Комментарии (374)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Павел
23 июня, 16:26
https://neerc.ifmo.ru/wiki/index.php?title=Обработка_ошибок_и_исключения
+1
Lyokha Blagodatskikh
23 июня, 05:55
Сложнооо... чуть депрессию не словил пока решал )
0
Ilia lenskii
19 июня, 19:27
Это важное задание, поскольку оно учит красиво ловить и обрабатывать ошибки исполнения в потоках. Спасибо.
0
Дмитрий
16 июня, 12:10
7 символов в слово добавил и заработало. Ниче не понятно, но очень интересно)
0
Buenos
20 мая, 13:57
Что-то сделал -> что-то произошло... Магия!)))
+2
milyasow
18 мая, 21:25
Установил брейкпойнт на строку с выкидыванием RuntimeException, и дебагом походил по вызываемым методам. Подозрения вызвал вот этот метод в классе Thread.java:
где значение uncaughtExceptionHandler показывалось как раз null.
Понятно, значит uncaughtException нам здесь обрабатывать некому. На каждую нить не догадался установить, сделал проще, в конструкторе TestedThread строку установки handler'a изменил на:
Это устанавливает обработчик по умолчанию, и позволяет threadA и threadB обрабатывать UncaughtException'ы, выводя нужный текст в консоль. +6
Антон Черняк
29 апреля, 09:26
честно говоря я не совсем самостоятельно разобрался с решением этой задачи. но стало интересно почему из конструктора класса метод не работает. не особо понял почему. но если по умолчанию включить этот перехватчик в конструкторе класса все работает, хоть и не принимает валидатор.
UPD почитал коменты и наконец до меня дошло. но по умолчанию валидатор не принимает как ни крути
0
Skipper;Mouse
22 апреля, 13:36
Крайне интересная задача. Разбирался часа полтора. Решил другим способом, валидатор принял.
Способ описан здесь.
https://medium.com
Ссылка правда на английском. Но расписано понятней чем на русских сайтах, которые я просмотрел.
Решил не совсем правильно, но это помогло разобраться.
+2
SWK
24 марта, 08:37
Почитал условие. Почитал тырнет. Много думал. Почитал код. Решил буква в букву, как в ответе.
Нифига не понял.
Не в смысле не понял решения, в смысле не понял, зачем было это всё? Чему меня предполагалось научить?
Есть гипотеза: научить предполагалось тому, что конструктор нити на основе runnable объекта метод run() перенимает, а обработчик необрабатываемого исключения - нет. Но, во-первых, я в этом не уверен, а, во-вторых, что-то мне подсказывает, что большинство решивших не обратило на это внимание.
0
Nikolay Myasnikov
24 марта, 05:39
Нужно добраться до комментария к задаче от Sergey, датируемого от 13 августа 2020.
Там всё расписано "от" и "до" - просто по царски размикрил!)
Об этом еще Виктор писал в комментарии от 17 января 2021.
+5
Павел
29 марта, 18:30
Спасибо Сергею и этому комменту!
0