Археология об основании Рима: Новые раскопки проясняют и такой острый дискуссионный вопрос, как дата самого возникновения Рима...
Наброски и зарисовки растений, плодов, цветов: Освоить конструктивное построение структуры дерева через зарисовки отдельных деревьев, группы деревьев...
Топ:
Выпускная квалификационная работа: Основная часть ВКР, как правило, состоит из двух-трех глав, каждая из которых, в свою очередь...
Методика измерений сопротивления растеканию тока анодного заземления: Анодный заземлитель (анод) – проводник, погруженный в электролитическую среду (грунт, раствор электролита) и подключенный к положительному...
Марксистская теория происхождения государства: По мнению Маркса и Энгельса, в основе развития общества, происходящих в нем изменений лежит...
Интересное:
Что нужно делать при лейкемии: Прежде всего, необходимо выяснить, не страдаете ли вы каким-либо душевным недугом...
Распространение рака на другие отдаленные от желудка органы: Характерных симптомов рака желудка не существует. Выраженные симптомы появляются, когда опухоль...
Мероприятия для защиты от морозного пучения грунтов: Инженерная защита от морозного (криогенного) пучения грунтов необходима для легких малоэтажных зданий и других сооружений...
Дисциплины:
|
из
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, то это значит, что вообще мы не ловим необрабатываемых исключений. Просто чтобы вы понимали. Надо логировать необработанные исключения (а у вас потоков может допускаться сколько угодно). Возьмите один обработчик и каждому будете говорить. Он будет один для всех потоков он будет перехватывать и логировать все необработанные исключения. Все это продумано, потому что вопрос здесь действительно возникает, а как поймать другие исключения? Вот я вам это показал.
Идем дальше…
|
|
|
Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Состав сооружений: решетки и песколовки: Решетки – это первое устройство в схеме очистных сооружений. Они представляют...
Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...
© cyberpedia.su 2017-2025 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!