Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Семя – орган полового размножения и расселения растений: наружи у семян имеется плотный покров – кожура...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Оценка эффективности инструментов коммуникационной политики: Внешние коммуникации - обмен информацией между организацией и её внешней средой...
Интересное:
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Принципы управления денежными потоками: одним из методов контроля за состоянием денежной наличности является...
Берегоукрепление оползневых склонов: На прибрежных склонах основной причиной развития оползневых процессов является подмыв водами рек естественных склонов...
Дисциплины:
2022-10-10 | 47 |
5.00
из
|
Заказать работу |
Ответ: Нет. После того как мы закомментируем sleep, Java сразу же задаст вопрос, а зачем тогда тебе InterruptedExceptionв блоке catch? Можешь мне пояснить? А убирать блок try-catchтоже нельзя. Т.к. данные блоки потребуются при синхронизации. В общем выглядит это как-то не очень красиво. Я не хочу писать sleep, тогда мне говорят убери блок try-catch. В общем здесь есть одна хитрая система, как эту проблему решить.
Видите, как получается? У нас в любом случае есть в методе run, чаще всего придется обрабатывать исключение InterruptedException. И у нас там уже будет какая-то бизнес-логика. Может быть мы будем писать какие-то логи и если нас попросят остановиться, то нужно будет также написать какой-то лог. С другой стороны проблемы здесь нет, ну и что, что исключение.
Вопрос: Что происходит, когда в главном потоке происходит необработанное исключение?
Ответ: Программа завершается.
Вопрос: Что произойдет, если этот дополнительный поток завершится с исключением, который вы не обрабатываете?
Ответ: Возьмите на 0 разделите. Будет исключение? Да. Потокзавершится? Да. Выобэтомузнаете? Нет. Т.е. может произойти необработанное исключение и тоже хотелось бы быть в курсе, что они происходят, потому что если поток работал, и вдруг пропал… Почему? Агдеданные? А что случилось с ним?
end of main Name = Thread-0, i = 0 Name = Thread-1, i = 0 Name = Thread-1, i = 1 Name = Thread-1, i = 2 Exception in thread "Thread-0" java.lang.ArithmeticException: / by zero Name = Thread-1, i = 3 Name = Thread-1, i = 4 СБОРКА УСПЕШНО ЗАВЕРШЕНА (общее время: 0 секунд) |
Ну это NetBeansтакой умный. Но программа-то доработала, видите? Это где-то NetBeansу себя ловушку поставил. А если у вас будет обычная система? В этой ситуации вам придется как-то думать как выкрутиться? Все уже сделано, и нужно только знать куда залезть.
Метод setUncaughtException добавили только в версии 1.5. Они тоже думали, надо ли перехватывать вам необработанные исключения? Потом все-таки решили, что надо. Вот то, что вы в качестве параметра укажете вызывается когда поток завершается в результате появления необработанного исключения. Т.е. вы можете задать для потока обработчик на необработанное исключение с которым он завершается. Если задать в качестве параметра null, то это значит, что вообще мы не ловим необрабатываемых исключений. Просто чтобы вы понимали. Надо логировать необработанные исключения (а у вас потоков может допускаться сколько угодно). Возьмите один обработчик и каждому будете говорить. Он будет один для всех потоков он будет перехватывать и логировать все необработанные исключения. Все это продумано, потому что вопрос здесь действительно возникает, а как поймать другие исключения? Вот я вам это показал.
Идем дальше…
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Опора деревянной одностоечной и способы укрепление угловых опор: Опоры ВЛ - конструкции, предназначенные для поддерживания проводов на необходимой высоте над землей, водой...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!